美文网首页
如何使用Git来保持树的整洁

如何使用Git来保持树的整洁

作者: 梁宏 | 来源:发表于2017-05-30 23:06 被阅读0次

多人协同完成项目时,同时从远程拉下最新的代码开发,在提交的时候会有优先顺序。由于是同时开发,当本地执行多个`commit`之后,其中一人`push`至远程之后,其他人如果要提交代码,必选先`commit`本地代码,然后才能`fetch`和`merge`或者`pull`将远程最新代码拉下来合并提交。

这样一来,多次操作之后,代码的版本树会交错在一起非常混乱,看起来不是很舒服。

那么如果解决这样的问题呢?有以下几种方法:

多人在同一分支(dev)操作

先执行`fetch`命令,查看远程是否有更新。

如果没有更新,可以直接执行`push`操作。

git fetch

git push-u origin dev

如果有更新并且本地没有执行过`commit`,同样的步骤,先拉取远程代码查看是否有其他更新。

git fetch

执行以上命令,会有类似以下内容输出:

remote:Countingobjects:1,done.

remote:Total1(delta0),reused0(delta0)

Unpackingobjects:100%(1/1),done.

Fromhttp://xxx

cad92b6..611b8ccdev->origin/dev

然后再执行`stach`命令,将最近一次`commit`之后修改的内容提取出来放到Git栈中,如果目录中有没有添加到Git索引的文件,需要先执行`add`操作:

git add./

git stash

执行以上操作,将本地文件版本恢复至之前与远程分支的最新版本一致,再进行远程分支与本地分支合并操作:

git merge origin/dev

之后再从Git栈中读取最近一次保存的内容恢复至本地分支中:

git stash pop

最后再手动将冲突解决掉,并使用`commit`和`push`提交至远程服务器:

git commit-a-m"xxx"

git push-u origin dev

如果本地有执行过`commit`操作,就不能直接使用`stash`,需要将版本还原至之前未提交的版本,在执行`stash`之前操作:

git reset--soft HEAD~x

这里使用`–soft`保留所有修改,`x`表示回退几个版本,之后的操作就跟上面一模一样了。

注意:以上做法将丢失本地commit的版本记录。

多人在不同分支(feature)操作

可以使用以上方法来实现,也可以使用下面这种。

先将本地分支进行`commit`:

git add./

git commit-m"xxx"

然后切到开发分支`dev`,将开发分支更新到最新:

git checkout dev

git pull origin dev

再切回`feature`分支,使用`rebase`命令操作,将本地`dev`与`feature`合并:

git checkout feature

git rebase dev

在执行过程中,如果有遇到冲突,需要手动解决冲突,再`add`和`continue`,如没有冲突可跳过这一步:

git add./

git rebase--continue

合并完成之后,再切回`dev`,将`feature`与`dev`合并:

git checkout dev

git merge feature

最后再推送至远程`dev`:

git push-u origin dev

注意:这里用到了git rebase,也可以在同一分支进行操作。这种做法将保留本地commit的版本记录。麻烦的是需要将每次合并的冲突手动解决才能continue。如果有不需要commit的东西,还需要用到git stash和git stash pop。

相关文章

  • 如何使用Git来保持树的整洁

    多人协同完成项目时,同时从远程拉下最新的代码开发,在提交的时候会有优先顺序。由于是同时开发,当本地执行多个`com...

  • 保持树的整洁

    在团队使用git的过程中,期望保持树的整洁,不想有太多支线。 在git push之前,先git fetch获取目前...

  • 前端 | Gitlab新拉的分支上没有父节点

    虽然平时我们严格按照Git使用流程规范来使用管理分支,但为了保证分支的干净整洁,仍每隔一段时间来重新审视一下分支树...

  • 如何保持卷面整洁

    如果下笔时一气呵成,这样就可以有效避免因为涂改而被扣卷面分的情况了。 如果在答题的时候喜欢涂涂改改...

  • 2020-01-20 Git简单使用

    Git简单使用 1基本命令 2.分支操作 选择git仓库的不同分支 fork操作 fork了别人的代码,如何保持和...

  • 全栈---技能

    关键开发技能(硬实力): ===Git / GitHub 你必须掌握如何使用Git来管理和分享你的代码。把Git作...

  • Git使用技巧——保持开发分支上提交日志整洁

    当产品经理或者项目组的leader给你一个新任务时,要开发系统的一个新功能,譬如加一个用户留言功能。如果使用Git...

  • GIT和Github

    #Git的初识 ##Git 的使用 Git 使用初尝试 新建项目来操作 克隆已有项目来操作 Git 的使用 by ...

  • 对于全栈工程师的要求

    (1)关键开发技能(硬实力) ·Git/GitHub——你必须掌握如何使用Git来管理和分享你的代码。把Git作为...

  • 保持整洁

    保持neat。行走,坐立,工作,聊天,都自带清风。 那是我曾经有过的状态,当有明确的任务,明确得像个机器人的时候,...

网友评论

      本文标题:如何使用Git来保持树的整洁

      本文链接:https://www.haomeiwen.com/subject/nzcdfxtx.html