Git merge&拉代码和本地更改丢失

时间:2017-10-07 13:42:19

标签: git git-branch branching-and-merging git-pull

这里我正在编写我提交代码的git命令。

git merge <branch1> --no-commit

所以我从那个分支获得了代码,我开始研究它。我确实只将代码合并为master。现在,在我完成了我的代码并尝试从master获得更改,而其他人也在使用它。

git pull origin master

我收到错误说MERGE_HEAD存在请提交您的文件。所以我通过输入这些命令来提交代码。

git add .
git commit -m "<commit message>"

现在我试图通过像往常一样重新调整代码来拉取代码。

git pull origin master --rebase

现在一切都很好,承诺看起来也不错。所以我去了codebase并检查了文件。我所有的改变都消失了。我哪里做错了?我还是不知道。请帮我找错。提前谢谢。

2 个答案:

答案 0 :(得分:2)

以下是将您的更改从分支机构更改为主数据的步骤:

git checkout master
  

这是您要推送更改的分支

git pull origin master 
  

检索您团队的提交

git checkout your-branch
  

检索你的分支

git rebase master
  

检索master的所有提交,之后进行更改

git checkout -b your-branch.1
  

你不能在你的分支上推送你的提交,因为你的本地分支与rebase重写历史记录不一样

git push origin your-branch.1
  

推送您准备合并的分支

git checkout master
  

这是您要合并的分支

git merge --no-commit --squash your-branch.1
  

将您的分支与master合并。壁球将把你所有的提交合二为一。没有提交会让你写一个很好的提交消息

git commit -m "here is my commit message"
  

善待你的团队成员了解你的变化

git push
  

发布您的更改

答案 1 :(得分:0)

git merge <branch1> --no-commit
     

所以我从那个分支获得了代码,然后我开始研究它。

这不是答案,但在这里你似乎做错了。通过不承诺,您将开发更改与之前的合并混合在一起。这可能会进一步破坏历史分析。