我正在使用 git 跟踪我对 PHP 软件的更改。我只有一个 master 分支和大约 10 次提交,第一次提交是该软件的原始版本 1.0。
现在我看到,PHP 软件的所有者发布了 1.1 版。
对我来说最好的最简单的方法是更新软件,但也要保留我自己的更改并将它们与 git mergetool 合并?我应该使用补丁还是使用未触及的版本更新创建另一个分支?
谢谢!
我可能会使用stash
这个。只需调用git stash
,拉取更改并运行git stash pop
,这将重新应用您隐藏的更改。创建自己的分支并在更新后将其合并回来绝对是一种方式。
典型的方法是在软件之上创建一个具有本地更改(比如“本地”)的分支:
git checkout origin/master
git checkout -b local
....edit files....
git commit
现在,只要有上游更新,您就可以使用 rebase 轻松重新应用更改:
git fetch
git rebase origin/master
如果您在 master 分支中已经有一些合并历史记录,请尝试原始操作并使用“git diff”生成针对上游工作的完整补丁——即使没有 git 工具也可以简单地应用这样的包。