在工作中,我们使用的主题分支在某些时候被集成到少数(3)主分支中.现在我想从我的远程存储库中删除已完全集成到主分支中的所有主题分支.如果那是不可能的,那么检索已经集成的本地分支列表也会没问题.
我有两台机器,其中git bash auto complete非常慢.当我点击标签时,文件名可能需要8到10秒才能完成.只有当auto complete是git命令的一部分时,才会发生这种情况.自动完成cd工作正常.git命令的实际执行运行正常.
我在用 git version 1.8.3-preview20130601
$ git count-objects -vH
count: 9
size: 10.23 KiB
in-pack: 2488
packs: 1
size-pack: 18.68 MiB
prune-packable: 0
garbage: 0
size-garbage: 0 bytes
Run Code Online (Sandbox Code Playgroud)
可能是什么导致了这个?有没有可能的解决办法?
编辑:我更新到Git (version 1.8.4-preview20130916),问题仍然存在.我注意到在ConEmu中运行bash shell时,在长时间停顿期间显示在底部的命令是uniq.exe.似乎对可执行文件的调用正在扼杀时间.
编辑:更新git version 1.9.0.msysgit.0已缓解了大部分问题.延迟现在只有1到2秒.其他命令cd几乎是即时的(<0.5s).我也不会再看到uniq.exe跑步了sh.exe.
我知道如何删除已合并的所有本地分支.但是,我相信这是由于Github的新拉动请求压缩和合并功能,我发现自己留下了许多未合并的本地分支,但如果合并到master中将导致没有变化.
如何修剪这些本地分支,即那些未必合并但不会影响主分支(或更一般地说,当前分支)的本地分支?
自从GitHub引入Squash和Merge之后,我工作场所的所有酷孩子都在合并拉取请求时使用它.有没有办法清理"壁球和合并"分支?
以下命令如何删除已合并的所有git分支?不适用于"壁球和合并":
git branch --merged | egrep -v "(^\*|master|dev)" | xargs git branch -d
Run Code Online (Sandbox Code Playgroud) 我创建了一个功能分支,然后为它创建了一个 PR。我的 PR 被接受并合并了。PR 说,“可以安全地删除分支。” 但是当我git branch --merged在主分支上做时,我没有看到合并的分支。我做错了什么?
我正在尝试为命令添加别名:
git branch --merged | grep -v "\*" | grep -v master | xargs -n 1 git branch -d
Run Code Online (Sandbox Code Playgroud)
这是我的.gitconfig文件:
[credential]
helper = wincred
[user]
name = Doron Grinzaig
email = doron@doNotSpamMe.Suckers
[push]
default = simple
[alias]
db = git branch --merged | grep -v "\*" | grep -v master | grep -v dev | xargs -n 1 git branch -d
unstage = reset HEAD --
Run Code Online (Sandbox Code Playgroud)
但现在当我尝试编辑 .gitconfig 文件时出现错误:
$ git config --global --edit
fatal: bad config …Run Code Online (Sandbox Code Playgroud) 我正在尝试编写一个git别名,从提交消息中删除字符串"[ci skip]"(放在消息的末尾),但是我遇到了转义问题.别名从作为参数传递的提交中获取所有提交HEAD.
如果我运行以下命令:
git filter-branch -f --msg-filter "sed -e \"s/\[ci skip\]$//g\"" master..HEAD
Run Code Online (Sandbox Code Playgroud)
它按预期工作.无论如何,如果我创建以下别名:
unwip = !sh -c 'git filter-branch -f --msg-filter \"sed -e \\\"s/\[ci skip\]$//g\\\"\" $0..HEAD'
Run Code Online (Sandbox Code Playgroud)
我运行git unwip master它抱怨错误的配置,但我希望它的行为与以前的commads一样.我怎样才能解决这个问题?
bd = "!f() { git branch --merged | egrep -v '(^\*|master|dev)' | xargs git branch -d }; f"
Run Code Online (Sandbox Code Playgroud)
我正在尝试使用git命令来删除所有本地合并分支.
当我将bash命令放入我的gitconfig中时,git抱怨一个错误的配置行:
fatal: bad config line 26 in file /Users/johnsona/.gitconfig
我的“远程”服务器上有很多 GIT 分支。
这个答案很好,但它并没有让我一直在那里。 如何删除所有已合并的 Git 分支?
您能否包括合并中的 master/develop 分支?我如何为此添加时间间隔?
git branch -r --merged | grep -v master | sed 's/origin\///' | xargs -n 1 git push --delete origin
Run Code Online (Sandbox Code Playgroud)