GIT万能通用命令

135 阅读3分钟

本文已参与「新人创作礼」活动,一起开启掘金创作之路

基础

查看git版本

`git --verison`

配置用户名和邮箱

`git config --global [user.name](http://user.name/) "aliang"`

`git config --global user.email 851362465@qq.com`

`git config --list 查看所有配置`

显示所有文件

`git ls-files`

查看文件内容

`cat xxx.txt`

创建版本仓库并提交

初始化一个版本仓库

 `git init`

查看状态

`git status`

加入暂存区

`git add git01.txt 加入指定文件到暂存区`

`git add . 全部加入暂存区`

提交暂存区文件到版仓库

`git commit -m "提交说明"`

查看本地仓库

`git ls-files`

查看提交的日志

`git log`

查看提交的日志-简版

`git log -5 --pretty=oneline`

查看超级详细操作

`git reflog`

时光穿梭机

修改文件后查看文件内容变化

`git diff HEAD -- git01.txt`

撤销暂存区文件

`git reset HEAD`

版本回退

`git reset --hard HEAD^ 回退一个版本`

`git reset --hard HEAD^^ 回退两个版本`

`git reset --hard HEAD-1 回退最初版本`

`git reset --hard HEAD 879d 版本标识id`

文件误删除(git status查看状态先)

`git checkout -- git02.txt`

绝对删除

`git rm git02.txt`

远程仓库

克隆远程项目到本地

`git clone https://.......git`

将本地库推送到远程【https方式】比较简单,时间效率更高\

`git init 初始化`

`git add xxx 本地放到暂存区`

`git commit -m "first commot" 提交到本地库`

`git remote add origin https://.....git 远程仓库绑定本地仓库并定义别名origin`

`git push -u origin master 推送到远程仓库分支master`

将本地库推送到远程【ssh方式】

`ssh-keygen -t rsa -C "github账号邮箱" 使用本地git生成ssh公钥和私钥`

`远程仓库配置该rsa的文本`

`ssh -T git@github.com 检查测试链接`

`以上配置完,然后重复https的步骤就行了`

分支操作

基础命令

`git checkout branch 切换到指定分支`

 `git checkout -b new_branch 新建分支并切换`

`git branch -d branch 删除指定分支`

`git branch 查看所有分支,*标记当前*`

`git merge branch 合并分支`

`git branch -m | -M oldbranch newbranch 重命名分支如果 newbranch存在则需要-M强制,否则使用-m`

分支push与pull操作

`git branch -a 查看本地与远程分支`

`git push origin branch_name 推送本地分支到远程`

`git push origin :remote_branch 删除远程分支`

 `git checkout -b local_branch origin/remote_branch 拉取远程指定分支并在本地创建分支`

分支操作冲突

`分支1修改文件`

`分支2修改文件`

`合并分支1-2`

`出现冲突后修改相关文件+add+commit即可`

多人冲突

`当A1修改了001文件提交推送后`

`当A2也修改了001文件提交推送后就会报错`

`需要执行git pull 更新拉取`

标签管理

基础命令

`git tag tag_name 新建标签,默认为HEAD`

 `git tag -a tag_name -m "XXX" 添加标签并指定标签描述信息`

`git tag 查看所有标签`

`git tag -d tag_name 删除一个本地标签`

`git push origin tag_name 推送本地标签到远程`

`git push origin --tags 推送全部未推送过的本地标签到远程`

`git push origin :refs/tags/tag_name 删除一个远程标签`

实操流程

`git tag`

`git tag v_1.0`

`git tag`

`git tag -a v_1.1 -m "若干bug修复"`

`git tag`

`git push origin v_1.0`