我正在使用git,但并不是专家。
我继承了一个老项目,它使用git flow(我喜欢这个流程):每个新功能都在feature/name
分支上。但是当新功能合并到develop
主分支时,它们没有从origin
中删除。现在在origin中我看到很多分支,但我不知道哪些是旧的或正在进行中的工作。
是否有一种方式可以查看在特性分支和develop分支之间完成的合并历史记录?
编辑:我在Linux机器上。
要获取当前分支中进行过合并的提交历史记录,请使用以下命令:
git log --merges
我可以提供另一个建议,您可以搜索包含在您的开发分支历史记录中的主要修订版本的分支?这可以保护您免受丢失已提交到先前合并的分支的更改的影响。
大致如此:
git log --oneline develop > /path/develop.log
# Just in case anyone's broken process and committed a bugfix directly to a release branch
git branch -a | grep 'remotes\/origin\/release\/' | while read branch;
do
git log --oneline $branch > /path/"$branch".log;
done
git branch -r | while read branch;
do
git log -1 --oneline $branch | awk '{print $1}' | while read commitID;
do
if grep -rq $commitID "/path/" ;
then
echo "git push --delete origin \"$branch\" Deletable $commitID";
break;
#else
# the head revision hasn't been committed to any 'master' branch
# echo "$branch $commitID";
fi;
done;
done
安装这个
sudo apt-get install git-gui
并运行GUI命令以执行
git gui
apt-get
,git-gui 也很可能可用。我的意思是,这不仅仅是一些随意的工具。它在 git-scm.com 上被引用。可能不是“最好”的答案,但仍然相关和有帮助。 - Jeff