天天看点

git学习

公司项目涉及到git的使用,所以抽时间看了下git相关命令,其实也有不足和错误,后期实践过程中慢慢修改:

git提交的注意点:

1,不同类别的修改 (如:Bug修复和功能添加) 要尽量分开提交,以方便以后从历史记录里查找特定的修改内容。

2,查看其他人提交的修改内容或自己的历史记录的时候,提交信息是需要用到的重要资料。所以请用心填写修改内容的提交信息,以方便别人理解。

以下是Git的标准注解:

请以这种格式填写提交信息。

工作树,索引

目录被称为工作树

git学习

git push 将代码提交到远程服务器

git学习

git clone 拉取远程服务器端代码;

git pull 更新远程git上的代码到本地,相当于更新代码;

合并修改记录:

git学习
git学习

手动解决合并过程中出现的冲突问题:

git学习

上方为本地代码

=================

远程git上的代码

处理冲突:

git学习

分支的概念:

一般工作中分主分支和个人分支,通常通过fork来建立自己的分支,并在这个分支中进行修改操作,然后通过merge合并到主分支中去。

git学习

master分支即原始的root分支,为最初提交代码时,git创建的分支。

merge分支和topic分支

Merge分支是为了可以随时发布release而创建的分支,它还能作为Topic分支的源分支使用。

Topic分支是为了开发新功能或修复Bug等任务而建立的分支。

git学习

蓝色和褐色部位为Topic分支。

git学习

HEAD指向的是现在使用中的分支的最后一次更新

提交时使用~(tilde)和^(caret)就可以指定某个提交的相对位置。最常用的就是相对于HEAD的位置。HEAD后面加上~(tilde)可以指定HEAD之前的提交记录。合并分支会有多个根节点,您可以用^(caret) 来指定使用哪个为根节点。

stash

还未提交的修改内容以及新添加的文件,留在索引区域或工作树的情况下切换到其他的分支时,修改内容会从原来的分支移动到目标分支。

但是如果在checkout的目标分支中相同的文件也有修改,checkout会失败的。这时要么先提交修改内容,要么用stash暂时保存修改内容后再checkout。

stash是临时保存文件修改内容的区域。stash可以暂时保存工作树和索引里还没提交的修改内容,您可以事后再取出暂存的修改,应用到原先的分支或其他的分支上。

git学习

分支的合并:

merge:

建立分支:

branch:

branchname-->分支名称

不指定参数直接执行branch命令的话,可以显示分支列表:

 前面有*的就是现在的分支。

切换分支:

切换到issue1分支:

创建分支并切换分支:

合并分支:

删除分支:

并行操作:

创建issue2分支和issue3分支,并切换到issue2分支

添加标签:

显示标签列表:

显示包含标签资料的历史记录:

添加标注标签

示标签的列表和注解:

删除标签:

改写提交:

$

取消提交:

$ git revert HEAD [master d47bb1d] Revert "添加pull的说明"

删除master分支最近的提交:

参考学习于:http://backlogtool.com/git-guide/cn/