这里是 Git 新手!
这是一个非常基本的问题,但我似乎在试图解决这个问题。我仍处于“玩弄 repo ”阶段并开始阅读一些书籍。请保持友善:)
如果...我有一个远程存储库,我该怎么办。我将它克隆到我的本地区域。我做一个分支。我将分支向后推,这样它就存在于两个地方。我对本地分支中的代码进行了一些编辑...
然后我是否将分支推回远程分支,然后将远程分支与远程主分支 merge ,然后将远程主分支推回本地主分支?我很困惑 merge 我的更改的正确/建议顺序是什么。推送远程 -> 本地更好,还是获取或 pull 更好?我将协作工作,因此当我在我的分支上工作时,其他人可能已经更改了远程主机。
跟踪分支是否只是节省时间(这样当你说“git push”时你不必明确 - 它知道你可能想要推送到哪里)?我假设他们实际上并不跟踪更改,例如更新本地主机以匹配远程主机。
非常感谢。我很困惑,但我真的很想学这个!
最佳答案
您提出了很好的问题,而且您似乎触及了所有考虑的 Gist 。
- 克隆远程
- 来自上游分支的分支(
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
- 当您的分支准备好 merge 到
origin/master
时, checkout 主控, pull 远程主控(正如您所怀疑的,这不会自动完成)以便您是最新的,然后将您的分支 merge 到顶部。将 master 推向上游。git checkout master; git pull; git merge feature-123; git push
如果你有 merge 冲突,比如同时对 master 进行了冲突的更改,当你去 merge 时 git 会为你找到它。您还可以将 master pull 入您的功能分支以保持最新状态(越早发现冲突,通常越容易解决它们)。
请记住 git 新手的黄金法则:永远不要强制推送,如果需要,只需创建一个新分支。如果你不强制推送,你总是可以比较并找到你的更改。
关于Git:在本地分支中进行编辑,以推送回远程存储库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53784641/