我有一个分支A和一个分支B.分支B是在A之前的三个提交。
我可以使用git diff
列出A和B之间的已更改文件。
但我的问题是:当我在A上时,如何检查A和B之间所有已更改的文件,然后将它们一起提交到A作为一次提交?
答案 0 :(得分:1)
只需将B
分支拉入A
,然后将最后三个提交合并为一个。
$ git checkout A
$ git pull origin B
$ git log
# Now top 3 commits are B's commit
# now back to 3 commits but exists all changes of that 3 commits (soft reset)
$ git log
# copy the last commit-hash of A (before pulled)
$ git reset --soft <commit-hash>
# now do one commit with all changes
$ git add .
$ git commit -m 'add last 3 commits of B as one in A'
$ git push origin HEAD # push the changes to remote
答案 1 :(得分:1)
如果B
严格地位于A
之前(而不是git merge --squash B
git commit
之后),那么您只需运行&#34; merge --squash&#34;:
extends ArrayAdapter
答案 2 :(得分:0)
将提交重新引导到A上,然后将它们用“
”压缩到一次提交git rebase -i HEAD~3
答案 3 :(得分:0)
从B到rebase获取提交
git rebase B
现在将三个提交压缩为一个
git rebase -i HEAD~3