Using git.
#@author: gr
#@date: 2014-03-12
#@email: forgerui@gmail.com
1. 合并代码
//使用fetch, merge
git fetch origin master
git log -p master..origin/master
git merge --no-ff origin/master
//使用pull
git pull origin master
2. 已经track的文件,使用.gitignore来忽略时,已经没有作用了,修改之后,照样会add进去。
解决方法:可以使用git rm 先删除,并且在.gitignore中添加忽略。
3. git log。这里有三个你应该知道的选项。
- --oneline- 压缩模式,在每个提交的旁边显示经过精简的提交哈希码和提交信息,以一行显示
- --graph- 图形模式,使用该选项会在输出的左边绘制一张基于文本格式的历史信息表示图。如果你查看的是单个分支的历史记录的话,该选项无效。
- --all- 显示所有分支的历史记录
4. 分支衍合
衍合会回到两个分支的共同祖先,把主分支重演一遍后,再把衍合分支重演一遍,此时最新的分支仍是衍合的分支。需要切到主分支,合并衍合分支。例如,现在有一个server分支需要衍合到master分支,如下操作:
git co server
git rebase master server
git co master
git merge server
使用衍合的好处是,有一个清晰的提交历史,就好像所以开发都是先后开发提交的,使用merge
的话,提交历史就会比较复杂。
Note:
永远不要把要衍合的分支推送到服务器,这样,别人在你衍合的分支上开发,当你进行衍合时候会出现不一致情况。
5. git tag
用来为每次的版本变更打上标签,后续比较好查阅各版本的变动,方便取出或回退到这个标记点,比哈希值好记。
git tag add-login-page 3dfe43k
git tag -lx