我遇到了git-flow的问题。
我编辑了很多文件,但我不想全部提交,所以我只将一些文件提交到我的本地存储库。
因此,当我尝试将我的存储库推送到main-repo时,它会告诉我
! [rejected]
master -> master (non-fast-forward)
error: failed to push some refs to <snip>
To prevent you from losing history, non-fast-forward updates were rejected
Merge the remote changes before pushing again. See the 'Note about
fast-forwards' section of 'git push --help' for details.
但是我不能从主回购中拉出来因为git想让我在
之前合并error: Your local changes to <snip> would be overwritten by merge. Aborting.
Please, commit your changes or stash them before you can merge.
但是我不想提交这些内容,而且我不知道如何在所有更改之前以他们的形式恢复它们。
答案 0 :(得分:2)
使用
存储您的本地更改git stash
然后拉远程更改
git pull
最终恢复您之前隐藏的更改
git stash pop
答案 1 :(得分:1)
你应该做的是保持master
分支不在上游,并创建你自己的私人分支来嬉戏。如果在私人分支中烹饪的一些想法变成了烹饪杰作,将它合并(或变形或樱桃挑选)到master
并推动结果。通过在master
上重新定位来定期同步您的私人分支。
阅读一些推荐的git工作流here