Git:在本地分支中进行编辑,以推送回远程仓库

时间:2018-12-14 17:52:34

标签: git github version-control gitlab branch

这里有新手!

这是一个非常基本的问题,但我似乎正以各种方式将自己束缚在自己的脑海中。我仍处于“玩回购协议”阶段,开始阅读一些书籍。请很好:)

如果...我有一个远程仓库,该怎么办。我将其克隆到我的本地区域。我做一个分支。我将分支推回,所以它在两个地方都存在。我对本地分支中的代码进行了一些编辑...

然后我将分支推回远程分支,然后将远程分支与远程主服务器合并,然后将远程主服务器推回到我的本地主服务器吗?我对正确/建议的合并顺序感到困惑。推动远程->本地,还是获取或拉取更好?我将进行协作,因此当我在分支机构工作时,其他人可能已更改了远程主服务器。

跟踪分支是否可以节省时间(因此当您说'git push'时不必显式-它知道您可能要推送到的位置)?我假设他们实际上没有跟踪变化,例如更新本地主机以匹配远程主机。

非常感谢。我很困惑,但我真的很想学习!

2 个答案:

答案 0 :(得分:2)

您在问很好的问题,而且您似乎正在考虑所有要点。

  1. 克隆远程
  2. 从上游分支的
  3. 分支(假设origin/master分支为feature-123)。 git checkout master; git pull; git checkout -b feature-123
  4. 编写,测试,提交更改。 git add -u; git commit -v
  5. 处于推入状态时,推入原点,为本地要素分支git push --set-upstream origin feature-123设置上游
  6. 当您的分支机构准备好合并到origin/master时,请结帐母版,拉出远程母版(您怀疑,此不会自动完成),以便您可以日期,并在顶部合并分支。向上游推送主服务器。 git checkout master; git pull; git merge feature-123; git push

如果您有合并冲突,例如在此期间对master进行的更改有冲突,则git在您进行合并时会为您找到它。您还可以将master拖入功能分支以保持最新状态(发现冲突越早,通常更容易解决它们)。

并记住git新手的黄金法则:从不强行推送,只要涉及到这个,就创建一个新分支。如果您不强行推动,则始终可以进行比较并找到更改。

答案 1 :(得分:1)

如果我了解您的情况,就是这样:

您从master创建了一个新分支(我们称其为'newFeature'),在newFeature上进行了一些更改,但不想在master上进行合并。如果是这样,我认为正确的方法是:

  1. newFeature上提交并推送更改
  2. 结帐大师
  3. newFeature合并到master
  4. origin推到master

我假设您现在是如何做git的东西,但是如果不做,请告诉我。