相关疑难解决方法(0)

如何在Git中获取当前分支名称?

我来自Subversion背景,当我有一个分支时,我知道我正在处理的是"这些工作文件指向这个分支".

但是对于Git,我不确定我何时在NetBeans或Notepad ++中编辑文件,无论它是与主服务器还是其他分支相关联.

git在bash中没有问题,它告诉我我在做什么.

git branch git-branch

2321
推荐指数
37
解决办法
136万
查看次数

只显示Git中的当前分支

我尝试为此寻找一个特殊的git命令,但找不到一个.任何人都可以提出更短或更快的建议:

git branch | awk '/\*/ { print $2; }'
Run Code Online (Sandbox Code Playgroud)

git branch git-branch

326
推荐指数
6
解决办法
11万
查看次数

在Git中,如何将当前提交哈希写入同一提交中的文件

我试图用Git钩子做一些奇特的东西,但我真的不知道怎么做(或者如果可能的话).

我需要做的是:在每次提交时,我想要获取其哈希值,然后使用此哈希值更新提交中的文件.

有任何想法吗?

git hook

118
推荐指数
5
解决办法
4万
查看次数

如何将Git的分支名称添加到提交消息中?

我需要一些Bash脚本的帮助,它会自动将git的分支名称添加为提交消息中的哈希.

git bash git-branch

93
推荐指数
9
解决办法
5万
查看次数

为什么“ git status”显示我在master分支上,而“ git branch”不在新创建的存储库中?

我正在尝试使过程自动化并发出git branch命令以找出我所在的分支。除了新初始化的存储库git branch什么都不返回以外,其他一切都工作正常。鉴于我对仓库没有做任何事情,甚至没有执行最初的提交,我都可以接受答案。但是,如果我运行git status它,它会告诉我我在master分支上,如下所示:

$ mkdir todelete
$ cd todelete
$ git init
Initialized empty Git repository in /u/u70021a/todelete/.git
$ git status
On branch master

No commits yet

nothing to commit (create/copy files and use "git add" to track)
$ git branch
$
Run Code Online (Sandbox Code Playgroud)

难道我做错了什么?有没有我没有正确设置的设置?

我对Git也有很多新人,我无法向他们解释为什么显示他们所在的分支的命令什么都没显示,而status命令却显示。

git

79
推荐指数
4
解决办法
6479
查看次数

如何将当前git分支的名称转换为shell脚本中的变量?

我是shell脚本的新手,无法解决这个问题.如果您不熟悉,命令git branch会返回类似的内容

* develop
  master
Run Code Online (Sandbox Code Playgroud)

,星号标记当前签出的分支.当我在终端中运行以下内容时:

git branch | grep "*"
Run Code Online (Sandbox Code Playgroud)

我明白了:

* develop
Run Code Online (Sandbox Code Playgroud)

正如所料.

但是,当我跑

test=$(git branch | grep "*")
Run Code Online (Sandbox Code Playgroud)

要么

test=`git branch | grep "*"`
Run Code Online (Sandbox Code Playgroud)

然后

echo $test
Run Code Online (Sandbox Code Playgroud)

,结果只是目录中的文件列表.我们如何使test ="*develop"的价值?

然后下一步(一旦我们将"*develop"变成一个名为test的变量),就是得到子串.这只是以下几点吗?

currentBranch=${test:2} 
Run Code Online (Sandbox Code Playgroud)

我正在玩那个子串函数,我得到了很多"坏替换"错误,不知道为什么.

linux git bash shell ubuntu

69
推荐指数
5
解决办法
4万
查看次数

PS1线与Git当前分支和颜色

这是我目前的PS1:

export PS1='[\u@\h \W$(__git_ps1 " (%s)")]\$ '
Run Code Online (Sandbox Code Playgroud)

如何以不同颜色显示当前分支?

git bash command-prompt

55
推荐指数
7
解决办法
8万
查看次数

如何以编程方式确定Git签出是否为标记,如果是,则标记名称是什么

在Unix或GNU脚本环境(例如Linux发行版,Cygwin,OSX)中,确定当前结帐是否为Git标记的最佳方法是什么.如果是标签,我该如何确定标签名称?

这种技术的一个用途是自动标记一个版本(就像svnversionSubversion一样).

请参阅我关于以编程方式检测Git分支的相关问题.

git bash shell

47
推荐指数
5
解决办法
1万
查看次数

如何在我的开发网站的页面顶部显示当前的git分支名称?

这是我的情况:

我使用MAMP(PHP)在我的Mac上本地开发.我的网站受Git版本控制,我将我的开发服务器指向磁盘上版本控制下的站点根目录.

File structure:
--mysitehere/
---.git/ (.git folder is here versioning everything below)
---src/ (<-- web server root)
----index.php (need the codez here for displaying current git branch)
Run Code Online (Sandbox Code Playgroud)

任何人都有我可以使用的示例代码,它在.git文件夹中查看并查看当前分支是什么,并将其输出到index.php页面(以及RoR dev的ruby解决方案)?当我切换分支时,这将非常有用,当我刷新时,在我的浏览器中,我看到我会在页面顶部的'master'或'your-topic-branch-name-here'.

我愿意使用以PHP编程方式访问git的第三方库,或者从.git中的磁盘上的文件中获取正确"当前分支"变量的东西.

php git

23
推荐指数
4
解决办法
2万
查看次数

git涂抹/清除分支之间的过滤器

有很多相关的问题涉及涂抹/清洁过滤器 - 我花了几个小时阅读它们,并尝试各种选项,但仍然失败.我希望我能以某种方式询问我得到的答案对我有用.

具体来说,我已经阅读了大部分这些答案链接回来的页面:


TL;博士

这是一个详细的问题,但摘要是:

  • 我可以将DEBUG = false文件存储在一个分支上,DEBUG = true在另一个分支中,使用涂抹/清除过滤器来管理该文件吗?如何?

背景

我在bitbucket有各种远程回购.我在Win8上使用SourceTree,将远程存储库克隆到我的笔记本电脑上.我为开发,功能,发布等创建了不同的分支(遵循一个成功的Git分支模型,无论好坏).

我有一个名为的Android java类Dbug.java,它包含一个布尔值,可以在我的代码中打开/关闭各种调试日志记录,模拟等功能.

public static final boolean DEBUG = false;
Run Code Online (Sandbox Code Playgroud)

我希望这个值false在我的"生产"(主)分支上,并且true在我的功能分支上.

  • 这可能是使用过滤器,还是我已经误解了用例?
  • 我不确定过滤器是否在同一本地托管的仓库的两个分支之间如此工作,或者过滤器仅在2个回购之间工作.

创建过滤器

在本地工作,我检查了生产分支.我创建了一个debug_flag.txt使用以下内容调用的测试文件:

// false on production branch
// true on other branches
DEBUG = false;
Run Code Online (Sandbox Code Playgroud)

我在我的本地仓库的根目录中创建了一个文件.gitattributes并添加了过滤器引用:

debug_flag.txt filter=debug_on_off
Run Code Online (Sandbox Code Playgroud)

.git/config用过滤器定义更新了文件:

[filter "debug_on_off"]
    clean = sed -e 's/DEBUG = true/DEBUG = false/'
    smudge = sed -s …
Run Code Online (Sandbox Code Playgroud)

git gitattributes

17
推荐指数
1
解决办法
4027
查看次数

标签 统计

git ×10

bash ×4

git-branch ×3

branch ×2

shell ×2

command-prompt ×1

gitattributes ×1

hook ×1

linux ×1

php ×1

ubuntu ×1