Linux -- git命令指南

 


 一、创建与合并分支 

1、 从master分支创建dev分支并切换到dev分支

  1. git checkout master

  2. git checkout -b dev

其中,git checkout -b dev 等价于:

 
  1. git branch dev

  2. git checkout dev

(1)

 
  1. git branch

查看本地当前的分支,分支前面带“*”表示当前分支,剩下的分支表示本地有的分支。

(2)

 
  1. git branch -a

查看远程全部的分支,白色的表示本地有的,红色的表示本地没有,仅在远程存在。

2、修改代码、提交代码(当前的操作是在dev分支上进行)

 
  1. git add a.html

  2.  

  3. git commit -m "提交文件a.html"

3、分支合并(将dev合并到master)

 
  1. git checkout master

  2.  

  3. git merge dev

4、合并完成后,删除dev分支.(删除dev分支时,注意我们当前所在的分支不能是dev分支)

 
  1. git branch -d dev

5、删除后,查看分支(此时看不到dev分支了)

 
  1. git branch

6、总结 :工作中经常从master创建新的分支,具体操作如下:

 
  1. master创建新分支:

  2.  

  3. git checkout master

  4.  

  5. git checkout -b issues1234 // 从master分支创建issues1234分支

  6.  

  7. git push origin issues1234

  8.  

  9. git add ..

  10.  

  11. git commit -m "***"

  12.  

  13. git push origin issues1234

注意:将本地分支branch1推到远端的branch2操作步骤:

 
  1. git push origin branch1:branch2

7、删除分支:

 
  1. git branch -D issues1234 // 本地强制删除分支issues1234

  2.  

  3. git push origin :issues1234 // 推到远程


 二、解决冲突 

1、发生冲突的文件

 
  1. <<<<<<< HEAD

  2. Creating a new branch is quick & simple.

  3. =======

  4. Creating a new branch is quick AND simple.

  5. >>>>>>> feature1

其中,git使用 <<<<<<<,=======,>>>>>>>标记文件中自己和别人产生冲突的部分。

<<<<<<<,=======之间为自己的代码;=======,>>>>>>>之间为别人的代码。

如果保留自己的代码,将别人的代码删掉即可。

2、冲突解决后提交

 
  1. git status

  2.  

  3. git add ***

  4.  

  5. git commit -m "fix conflict"

  6.  

  7. git push origin 分支名


 三、Bug分支 

1、储藏更改:将当前更改的代码储藏起来,等以后恢复使用

 
  1. git stash

2、恢复储藏的代码

 
  1. git stash pop // 恢复的同时把stash内容删掉

或者

 
  1. // 通过 git stash list,查看本地所有的stash,如果我要恢复第一个就执行:

  2. git stash apply stash@{0}

  3.  

  4. git stash apply // 恢复stash,但是stash内容并不删除

  5.  

  6. git stash drop // 在上面操作的基础上,以此来删除stash

  7.  

  8. 注: git stash list // 查看全部的stash列表

3、将stash空间清空

 
  1. git stash clear

4、git stash pop 和 git stash apply 区别

 
  1. 原来git stash pop stash@{id}命令会在执行后将对应的stash id 从stash list里删除,

  2. 而 git stash apply stash@{id} 命令则会继续保存stash id。


 四、版本回退 

1、回退至上一个版本

 
  1. git reset --hard HEAD

2、回退至指定版本

 
  1. git reset --hard 版本号

3、查看以往版本号(本地的commit)

 
  1. git reflog

4、查看各版本号及信息(所有的commit:本地commit + 其他同事的commit)

 
  1. git log


 五、撤销修改 

1、撤销修改

 
  1. git checkout -- a.html

分两种情况分析:

 
  1. ①: 还没有执行 git add 操作,执行上面的操作后,会恢复到和版本库中一模一样的版本状态。

  2.  

  3. ②: 执行了git add ,还没执行 git commit ,再执行上面的操作后,会恢复到git add 结束后的状态

注:一旦执行了git commit -m "*",就不能再使用上面的命令回退。

2、撤销新建文件

比如新建一个aa.html页面,并未执行git add ,即没有被git追踪,此时如果你想撤销新建动作,可执行:

 
  1. git clean -f ../aa.html

3、撤销新建文件夹

比如新建一个文件夹"demo",并未执行git add ,即没有被git追踪,此时如果你想撤销新建动作,可执行:

 
  1. git clean -df ./demo


 六、对已push版本进行回退 

1、第一步:

 
  1. git reset --hard 版本号 // 本地回退到指定的版本

2、第二步:

 
  1. git push -f origin dev //将远程的也回退到指定版本


 七、本地同步远程删除的分支 

 
  1. git fetch origin -p // 用来清除已经没有远程信息的分支,这样git branch -a 就不会拉取远程已经删除的分支了


 八、删掉未与远程分支对应的本地分支 

从gitlab上看不到的分支在本地可以通过git branch -a 查到,删掉没有与远程分支对应的本地分支:

 
  1. git fetch -p


 九、查看远程库与本地分支的信息 

 
  1. git remote show origin


 十、标签管理 

1、给当前分支最新commit打标签

 
  1. git tag v1.0.0

2、比如现在周五,要给周一某个commit打标签,应执行以下步骤:

(1)、查看log日志,找到相应的commit版本号

 
  1. git log --pretty=oneline --abbrev-commit

 
  1. // 显示如下commit,比如我想在 "34372b05"这个commit打标签

  2. 44d2e20b fix bug

  3. 34372b05 fix bug

  4. 29554931 fix bug

(2)、给指定的commit打标签

 
  1. git tag v1.0.0 34372b05

(3)、创建的标签只存在本地,推至远程

 
  1. git push origin v1.0.0

(4)、一次性推送未推至远程的本地标签

 
  1. git push origin --tags

(5)、查询所有标签

 
  1. git tag

(6)、查询标签详细信息

 
  1. git show v1.0.0

(7)、删除本地标签

 
  1. git tag -d v1.0.0

(8)、删除远程标签

 
  1. // 先从本地删除

  2. git tag -d v1.0.0

  3.  

  4. // 然后从远程删除

  5. git push origin :refs/tags/v1.0.0

  6.  

  7. // 最后可以在gitlab上查看是否真正的删除了标签

3、创建带有说明的标签,用-a指定标签名,-m指定说明文字

 
  1. // git tag -a 版本号 -m 说明信息 commit版本号

  2. git tag -a v1.0.0 -m "version 1.0.0 released" 34372b05(commit版本号)

  3.  

  4. // 查看标签详细信息

  5. git show v1.0.0

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Techblog of HaoWANG

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值