git代码提交操作要点

260 阅读2分钟

需要避免的问题

  1. 同一分支多人开发,避免代码自动合并,生成合并节点;

  2. 多次重复提交,提交记录不明确;

  3. 代码合并减少冲突,尽可能在分支合并时不会出现冲突;

推荐的两种提交代码的操作方式:

  1. pull, 再 commit, 然后push
    提交代码前先pull更新代码,如果有冲突无法更新代码,则先stash储存改动 --> pull --> 还原储存 --> 解决冲突 --> 提交代码。

  2. commit, 再 pull --rebase, 然后push
    代码提交后,push提交前,先使用 pull --rebase 进行代码更新,如果冲突则解决冲突 ,然后再依次使用以下方法:rebase --continue --> commit --> push

了解git pull

pull命令实际上是 fetchmerge 的批处理命令,意思就是先拉取服务上的更新,然后将本地分支与服务器上分支进行合并, merge 操作不影响有改动未提交的文件。

pull --rebase: 加上 rebase 参数后,将 merge 操作改为 rebase 操作, 区别是获取到服务器上更新后,本地分支将重置到远程分支,然后将本地未同步的提交重新提交,rebase操作时不允许有未提交的修改!

汇总提交记录

在代码只在本地提交未推送到服务器之前,我们可以有效的改动整合提交记录,避免让大家都看到你的粗心大意。

  1. 使用amend 参数
    commit后发现有遗漏,需要再次提交时,使用 commit -- amend, 可以将改动添加到上次提交中。

  2. 使用rebase
    如果有建立个人分支来进行安全备份,需要正式提交时,则可以使用交互式变基 rebase -i 来将多次提交的记录整合(squash)后提交到指定分支上。

  3. 使用reset 直接使用git reset 可以将分支还原到提交前的节点,这时候所有的改动内容都成了未提交的改动,然后切换到要提交的分支,或者新建分支重新提交就行了。

总结

以上的操作只是些要点,具体可以搜索相关文章去理解清楚了这些操作方式,各种图形工具很多,操作起来更加直观便捷,所以并不建议直接使用命令行,虽然网上大多都是命令行方式的教程,实际上图形工具也只是将这些命令放到菜单里,相关参数只需要你在弹窗上点击勾选,最后也还是去执行的命令进行操作的。

最后提一下git reflog, 这是个黑匣子,当你不小心删除了某分支,或者reset掉了某提交记录,都是可以在reflog里找到并还原。放心玩吧!