工作中真正常用的 git 操作
我是 java 语言所以用 idea 比较多,就很少会用 git status git log 了,idea 的 git 插件非常强大。
常见的 add commit fetch push pull 都不说了。
正确的提交代码:
commit 后再 push(如果你是用命令行的 push, 不成功,就 fetch、rebase origin/dev、 push 三步走就可以了)(如果用的是 idea 的提交并推送这个按钮的话,就会自动合并最新代码,并提交)
代码写完了要及时提交,不要没有 commit,就拉代码下来,万一发生冲突了,你的代码就被污染了,也没有 commit 给你回退,绝对会让你后悔。
生产环境修改 bug:
首先切到生产环境 prod 分支上,进行修改代码提交。然后别忘了,把这个改动拷贝到 dev 分支上(cherrypick。idea 可以直接对 commit 右键,或者对文件右键 cherrypick ,很方便)。改动拷贝后可以提交了。
正确打开和关闭分支:
有的时候不太好直接在 dev 分支修改,因为太多人用了,开一个 bugfix 分支进行改 bug。改完 bug后,在 dev 分支合并 bugfix,此时 bugfix 可以不需要了。
先删除本地的记录
git branch -d bugfix
再删除远程的记录
git branch -d orgin/bugfix --remotw
再删除托管的远程分支
git push --delete orgin bugfix
这样就干干净净了。
合并解决冲突小技巧:
先不要管 import 和@Autowired 这些地方的代码,直接看代码,涉及到谁的代码,就叫那个人过来,选择哪些代码要保留,或者合并,或者合并后修改一些地方。
最后无脑的加入 import 然后再优化 import。成员也是无脑加入,休息不要加重复了。
合并完解决冲突后,别忘了重启一下,看看编译能不能过,能过就差不多就可以提交了。有 bug 后面再改
最后我比较喜欢用的功能
idea 的 reset 和 revert(这两个功能配合 idea gui 使用非常好)
idea 有一个 shevle 功能,独有的,比 stash 更强大。多用哈。
idea 还有一个保命工具 local history ,每一分钟都会记录一次代码版本。有 commit 记录就用 reflog,没有 commit 记录就用 local history
以前觉得牛,但是实际不常用:
git rebase -i(因为很少情况下,会让我们整理一整个 git 历史)
git reflog --date=iso(一般情况下,都不会出现啥错误,对我来说,date=iso 是我喜欢参数)