我对与其他用户一起使用git分支非常苛刻,所以我希望对项目有所帮助。我的项目有3个分支(master,auth和dev1)。我是master分支的用户,最近我将auth分支克隆到本地文件夹并进行了编辑。
我的问题是......我如何(推?)我对auth分支的更正并将其与主分支合并?我可以(在本地合并?)编辑的auth分支与主服务器吗?
又名
菲尔拥有*主人Bob拥有* auth
Phil克隆*授权到本地计算机。编辑* auth并希望然后将编辑的* auth与* master合并。
答案 0 :(得分:1)
您只需转到要将更改添加到(git checkout master
)的分支,然后将更改合并到它(git merge auth
)。
这是一般顺序:
假设auth
和master
现在完全相同:
git checkout auth
您现在正在使用auth分支 -
进行一些编辑并提交(git commit -m 'awesome changes to auth branch'
)
git checkout master
您现在处于未更改的主分支
git merge auth
如果一切顺利,您在身份验证中所做的更改将合并到您的master
分支
git push
AFAIK(相信我,我也是新手),如果您的朋友在合并之前向master
分支添加类似的更改,您将遇到问题。如果发生这种情况,git将无法知道合并期间保存的更改:您的还是他的?
答案 1 :(得分:0)
由于你掌握了最新版本,我认为这可以做你想做的事情:
git checkout master
git merge auth
git push origin master
转到master,将auth合并到其中,然后将其推送到遥控器。
但是这样你就不会更新远程身份验证,所以你最好先推送你的提交:
git push origin auth
答案 2 :(得分:0)
我的问题是......我如何(推?)我对auth分支的更正 并将其与主分支合并?我可以(合并?)编辑 auth分支与本地主人?
使用以下命令将更正推送到auth分支(让我们假装您的远程存储库的名称是“banana”):
git push banana auth
如果我正确地阅读你的问题,你想推动你的分支,然后合并它们。你不能按顺序这样做。它必须是“合并,然后推动”。您只能“本地”合并,然后使用上面的命令将更改推送到远程仓库。
顺便说一下,对于每个分支,至少使用以下命令一次:
git push -u <branchName>
这会将您的本地分支与远程分支相关联,因此您不会收到任何恼人的消息,说“您没有默认分支,waaaah!”如果你想立刻推动所有分支,那么该消息是什么。
就合并而言,上述答案已经回答了这个问题。
希望这能解决一些问题!