我正在研究用户故事说US 2001:测试用户故事,我做了两次推送到远程server.code被审查并合并到分支机构。在此我做了跟进
1.First Push
git commit -m "US 2001:Test user story"
git pull --rebase origin master
git push origin HEAD:refs/for/master
2. Second push
git commit --amend
git pull --rebase origin master
git push origin HEAD:refs/for/master
审核后审核人员将该代码合并到分支机构。现在我发现了该用户故事的进一步变化。我很困惑如何提交和推送代码。
现在我无法做git commit --amend
因为git log正在显示其他人的提交。
请帮助如何在git repo中推送更改。
我是否需要进行新的提交并将代码作为不同的更改集ID推送?
请帮助我。我是git的新手。
答案 0 :(得分:0)
考虑被推送为“最终”的所有内容。
是的,为了保留历史记录,您需要根据其他人已推送的提交进行更改。这样,一旦他们拉动,他们将根据他们已经拥有的内容进行更改,并且每个人都拥有相同的版本。
从技术上讲,您也可以回到第一次提交,使用
amend
添加更改,从其他人那里重新更改更改,然后强制推送到上游。这是一个可怕的想法,因为它会破坏历史并给其他用户带来各种各样的问题。
答案 1 :(得分:0)
我是否需要make new commit并将代码推送到不同的更改集ID?
是。使用--amend
重写分支历史记录。您只应将--amend
用于尚未推送到任何远程仓库的提交。
我个人更喜欢每当我要处理一个功能时创建一个新分支,这样我就可以将所有相关的提交保存在一起。我建议你这样做: