我有一个与master没有区别的分支,但是它被报告为这个分支是28个提交,超过master" 。我尝试用以下内容清除它,但它没有用。在此过程之后,它仍处于相同的状态。
--squash
用于保留accurate log of events。 dev-branch arm-neon上发生的任何事情都不会影响master,直到它合并之后。我们 无法 包含不准确的日志,这是一项艰难的要求。
如何清除这个分支是28次提交,而不是#34; 消息?
$ git checkout master
Already on 'master'
Your branch is up-to-date with 'origin/master'.
$ git diff master arm-neon
$
$ git merge arm-neon --squash -m "Synch branch 'arm-neon' with 'master'. Version control is showing arm-neon 28 commits ahead even though there are no differences"
Updating 7319206..9c8ee31
Fast-forward (no commit created; -m option ignored)
Squash commit -- not updating HEAD
$ git commit -am "Synch branch 'arm-neon' with 'master'. Version control is showing arm-neon 28 commits ahead even though there are no differences"
On branch master
Your branch is up-to-date with 'origin/master'.
$ git push
Everything up-to-date
$ git push --force
Everything up-to-date
不重复。引用问题的问题表明:
1- change files
2- commit
3- repeat 1-2 until satisfied
4- push to master
我们没有差异。
另一个答案陈述为git fetch -p
。我在一个bash脚本中有这个,它经常运行,因为它不可能让Git用一个简单的命令来更新所有内容,而且用一个简单的命令就不可能让Git删除分支:
if [ -d "$HOME/cryptopp" ]; then
(
cd "$HOME/cryptopp"
git fetch -p && for branch in `git branch -vv | grep ": gone]" | $AWK '{print $1}'`; do git branch -D $branch; done
) </dev/null &>/dev/null &
disown $!
fi
另一个答案是git pull --rebase
。我认为这与--squash
不相容。但如果这是答案,那么有人需要说出来。它已经过了旧的试验&#34;也许这会起作用,也许这会起作用&#34;答案。