..
【翻译】使用git工作的5个技巧
在过去的一段日子里,你使用着相同的git命令,你时候想过改善既有流程,增加一些其他的技巧或者说小把戏。
- git rebase 工作流 当你完成了一个本地feature分支功能开发,是时候提交你的代码变更到master分支了(我认为不能直接合并到master分支,他应该经过其他分支进行流水线测试)。这个时候,你也许会使用merge的方法来合并你的代码,而不是rebase,想了解merge和rebase之间的去表,可以看这里https://www.atlassian.com/git/tutorials/merging-vs-rebasing。
我过去也在我的团队中使用merge来合并我的代码到master分支,这通常不会有什么问题。一个聪明的开发人员告诉一个非常好的git工作流程,他是在代码提交到master分支的时候,将merge和rebase结合起来,使我的工作流程发生了巨大的变化,通过下面的描述我介绍这个工作流程。
- checkout master
git checkout master
- 保证master是最新的代码
git pull
- rebase master
git rebase master
- 如果遇到和合并问题,请示使用merge工具
git mergetool
``
* 修复合并问题
* 继续使用git rebase
```shell
git rebase --continue
- 如果还遇到了问题,重复上面的合并步骤
- 如果合并除了,终止当前合并,并且丢弃变更
git rebase --abort
- 如果合并完成,将变更推送到远程分支
git push -f
-
git add -p 当你在本地分支上工作的时候,你是否有想要提交的变更,但是你没有提交变更,使用
git add -p
命令即可。在我了解这个命令之前,我是完全丢弃掉我不想要的的提交变成git checkout -src / etc
,然后一次体骄傲所有变更git commit -A
,想起来还真是浪费时间。 -
保持分支干净 使用简洁的分支命名,一些时候当我从一个简单分支切换到要给命名复杂的分支的时候,我不禁会想,我怎么会给分支定义了一个如此愚蠢的名字,但是一想到这个分支已经在服务器上存在了。 这里有一个命令用来修改本地分支的名字,非常有效。
git branch -m odlname newname
重命令当前分支:
git branch -m newname
是不是非常简单。如果一个分支已经合并了,那么你就应该在本地删除它,删除掉本地的旧的分支。
git branch -d branchname
- git reset-hard
当你想要放弃某些变更,重新来过的时候,你可以使用
git reset --hard
,时候的时候你必须小心,你要知道你正在做什么。