一、创建与合并分支 

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.  可运行 git status 查看状态

  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

原文地址:http://www.cnblogs.com/zy-feng/p/16814935.html

1. 本站所有资源来源于用户上传和网络,如有侵权请邮件联系站长! 2. 分享目的仅供大家学习和交流,请务用于商业用途! 3. 如果你也有好源码或者教程,可以到用户中心发布,分享有积分奖励和额外收入! 4. 本站提供的源码、模板、插件等等其他资源,都不包含技术服务请大家谅解! 5. 如有链接无法下载、失效或广告,请联系管理员处理! 6. 本站资源售价只是赞助,收取费用仅维持本站的日常运营所需! 7. 如遇到加密压缩包,默认解压密码为"gltf",如遇到无法解压的请联系管理员! 8. 因为资源和程序源码均为可复制品,所以不支持任何理由的退款兑现,请斟酌后支付下载 声明:如果标题没有注明"已测试"或者"测试可用"等字样的资源源码均未经过站长测试.特别注意没有标注的源码不保证任何可用性