![]() |
1
266
正确的解决办法是看一眼
contrib/completions/git-completion.bash
是不是bash提示
git symbolic-ref 用于从符号引用中提取完全限定的分支名称;我们将其用于HEAD,HEAD是当前已签出的分支。 另一种解决方案可能是:
在最后一行中,我们处理分离的头部情况,使用简单的“头部”来表示这种情况。 增加2013年6月11日 Junio C.Hamano(Git Maintainer)博客帖子, Checking the current branch programatically ,从2013年6月10日起解释 为什么 (和如何)更详细。 |
![]() |
2
176
有没有人看到仅仅要求Git描述你所在的分支有什么问题?
它可以在$()中使用,并且可以在bash、powershell、perl等中轻松传递。如果您在提交时有多个分支,并且当前不在分支上,那么它只会用“head”来回答。 或者,您可以使用
这将为您提供相同的输出,但如果分离,它将不会返回任何内容。如果您希望在分离时出现错误,这个命令很有用,只需删除-q即可。 |
![]() |
3
41
你可以使用
|
![]() |
4
33
从这个答案: https://stackoverflow.com/a/1418022/605356 :
显然适用于Git 1.6.3或更高版本。 |
![]() |
5
18
尝试:
或者你尝试
当grep处于regex模式时(
结果类似于:
您可以使用以下选项:
例如:
如果存在错误,则不能使用默认值:
在bash函数中全部转换为:
用途:
|
![]() |
6
9
将接受的答案调整为Windows PowerShell:
|
![]() |
7
8
这个在bash文件中对我有用。
|
![]() |
8
6
这个对我有用。这个
|
![]() |
9
4
我要做的是:
输出如下:
|
![]() |
10
4
我发现了两种非常简单的方法:
和
|
![]() |
11
4
我在这里尝试最简单和最不言自明的方法:
|
![]() |
12
2
有人提到在bash中只做了不到三个任务…像这样混乱的控制流程怎么样:
|
![]() |
13
2
如果使用的是旧的NT命令行,则可以使用以下命令:
要在批处理文件中使用,您必须将%:
|
![]() |
14
2
这是我的解决方案,适用于PS1,或自动标记发布 如果您在一个分支处签出,则会得到该分支的名称。 如果你在一个刚开始的Git项目中,你只会得到“@” 如果你是无头的,你会得到一个相对于某个分支或标签的很好的人名,名字前面有一个“@”。 如果你是无头的,而不是某个分支或标签的祖先,你只需要得到一个短的sha1。
您可以删除
|
![]() |
15
2
使用--chinace提供向后兼容的输出,易于分析:
从文档中: 瓷质格式类似于短格式,但保证不会在Git版本之间或基于用户配置以向后不兼容的方式更改。这使得它非常适合通过脚本进行解析。 |
![]() |
16
1
如果你在使用Gealle, ` `
` ` |
![]() |
17
0
这是一个解决方案。如果将其添加到.bashrc中,它将在控制台中显示当前分支。
但这是相当有限的。但是有一个伟大的项目叫做 git sh 正是这样(以及更多)。 |
![]() |
18
0
我发现调用git相当慢(任何子命令)。 特别是更新提示。时间在repo的根目录中的0.1到0.2秒之间变化,在顶级计算机(raid 1、8GBram、8个硬件线程)上,在repo之外的0.2秒以上变化。不过,它确实在运行Cygwin。 因此,我为speed写了这个脚本:
可能需要一些调整。 |
![]() |
19
0
如果您是在一个分离的头上(即您已经签出了一个版本),并且有来自git状态的输出,例如
如果您想要发布版本,我们使用以下命令…
这将返回1.7.3.1,我们在parameters.yml(symfony)中将其替换为
希望这有帮助:)显然,如果您的分支名称中有非数字字符,那么您需要更改tr命令的参数。 |
![]() |
20
0
在一行变量赋值中,结果与接受的答案相同:
|
![]() |
Harry · 如何在编译时获取克隆的git仓库的标签 5 月前 |
![]() |
Ooker · 如何从blob中删除秘密? 6 月前 |
![]() |
hasdrubal · git日志图智能分支过滤器 6 月前 |
![]() |
J. Doe · 为什么git中没有跟踪git文件? 6 月前 |