Git:在本地分支中进行编辑,以推送回远程仓库
Git: Making edits in a local branch, to push back to remote repo
Git新手来啦!
这是一个非常基本的问题,但我似乎把自己束缚在了结中,试图绕开它。我还处于 'playing around with repos' 阶段,开始阅读一些书籍。请友善 :)
如果...我有一个远程仓库,我该怎么办。我将它克隆到我的本地区域。我做一个分支。我将分支推回,以便它存在于两个地方。我对本地分支中的代码进行了一些编辑...
然后我是否将分支推回远程分支,然后将远程分支与远程主控合并,然后将远程主控推回我的本地主控?我对 correct/advised 合并更改的命令感到困惑。推送远程 -> 本地,还是获取或拉取更好?我将协同工作,所以当我在我的分支上工作时,其他人可能已经更改了远程主机。
跟踪分支只是为了节省时间(所以当你说 'git push' 时你不必明确 - 它知道你可能想推送到哪里)?我假设他们实际上并没有跟踪变化,例如更新本地主机以匹配远程主机。
非常感谢。我很困惑,但我真的很想学习这个!
如果我理解你的场景,大概是这样的:
您从 master
创建了一个新分支(我们称之为“newFeature
”),对 newFeature
进行了一些更改并希望在 master
上合并.如果是这样,我认为正确的做法是:
- 在
newFeature
上提交并推送更改
- 结帐大师
- 合并
newFeature
到master
- 将
origin
推送到master
我假设你现在知道如何做 git 东西,但如果不会请告诉我。
你问的问题很好,而且你似乎抓住了所有的考虑点。
- 克隆远程
- 来自上游分支的分支(假设
origin/master
分支到 feature-123
)。 git checkout master; git pull; git checkout -b feature-123
- 编写、测试、提交更改。
git add -u; git commit -v
- 当处于值得推送的状态时,推送到原点,为您的本地功能分支设置上游
git push --set-upstream origin feature-123
- 当您的分支准备好合并到
origin/master
时,结帐 master,拉取远程 master(这 不会 自动完成,正如您所怀疑的那样)以便你是最新的,并在上面合并你的分支。将 master 推上游。 git checkout master; git pull; git merge feature-123; git push
如果您有合并冲突,例如同时对 master 进行的冲突更改,git 会在您合并时为您找到它。您还可以将 master 拉入您的功能分支以保持最新状态(越早发现冲突,通常越容易解决它们)。
并记住 git 新手的黄金法则:永远不要 强制推送,如果遇到这种情况,只需创建一个新分支。如果您不强制推送,您总是可以比较并找到您的更改。
Git新手来啦!
这是一个非常基本的问题,但我似乎把自己束缚在了结中,试图绕开它。我还处于 'playing around with repos' 阶段,开始阅读一些书籍。请友善 :)
如果...我有一个远程仓库,我该怎么办。我将它克隆到我的本地区域。我做一个分支。我将分支推回,以便它存在于两个地方。我对本地分支中的代码进行了一些编辑...
然后我是否将分支推回远程分支,然后将远程分支与远程主控合并,然后将远程主控推回我的本地主控?我对 correct/advised 合并更改的命令感到困惑。推送远程 -> 本地,还是获取或拉取更好?我将协同工作,所以当我在我的分支上工作时,其他人可能已经更改了远程主机。
跟踪分支只是为了节省时间(所以当你说 'git push' 时你不必明确 - 它知道你可能想推送到哪里)?我假设他们实际上并没有跟踪变化,例如更新本地主机以匹配远程主机。
非常感谢。我很困惑,但我真的很想学习这个!
如果我理解你的场景,大概是这样的:
您从 master
创建了一个新分支(我们称之为“newFeature
”),对 newFeature
进行了一些更改并希望在 master
上合并.如果是这样,我认为正确的做法是:
- 在
newFeature
上提交并推送更改
- 结帐大师
- 合并
newFeature
到master
- 将
origin
推送到master
我假设你现在知道如何做 git 东西,但如果不会请告诉我。
你问的问题很好,而且你似乎抓住了所有的考虑点。
- 克隆远程
- 来自上游分支的分支(假设
origin/master
分支到feature-123
)。git checkout master; git pull; git checkout -b feature-123
- 编写、测试、提交更改。
git add -u; git commit -v
- 当处于值得推送的状态时,推送到原点,为您的本地功能分支设置上游
git push --set-upstream origin feature-123
- 当您的分支准备好合并到
origin/master
时,结帐 master,拉取远程 master(这 不会 自动完成,正如您所怀疑的那样)以便你是最新的,并在上面合并你的分支。将 master 推上游。git checkout master; git pull; git merge feature-123; git push
如果您有合并冲突,例如同时对 master 进行的冲突更改,git 会在您合并时为您找到它。您还可以将 master 拉入您的功能分支以保持最新状态(越早发现冲突,通常越容易解决它们)。
并记住 git 新手的黄金法则:永远不要 强制推送,如果遇到这种情况,只需创建一个新分支。如果您不强制推送,您总是可以比较并找到您的更改。