相关疑难解决方法(0)

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

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

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

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

git branch git-branch

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

修复一个Git分离的头?

我在我的存储库中做了一些工作,发现文件有本地更改.我不再想要它们所以我删除了文件,以为我可以签出一份新的副本.我想做Git相当于

svn up .
Run Code Online (Sandbox Code Playgroud)

使用git pull似乎没有用.一些随机搜索引导我到一个有人推荐做的网站

git checkout HEAD^ src/
Run Code Online (Sandbox Code Playgroud)

(src是包含已删除文件的目录).

现在我发现我有一个超然的头.我不知道那是什么.我怎么撤消?

git

1318
推荐指数
19
解决办法
128万
查看次数

如何列出包含给定提交的分支?

如何查询git以找出哪些分支包含给定的提交?gitk通常会列出分支,除非有太多分支,在这种情况下它只是说"很多(38)"或类似的东西.我需要知道完整列表,或者至少是否某些分支包含提交.

git version-control

1029
推荐指数
2
解决办法
28万
查看次数

如何以编程方式确定当前签出的Git分支

在Unix或GNU脚本环境(例如Linux发行版,Cygwin,OSX)中,确定当前在工作目录中检出哪个Git分支的最佳方法是什么?

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

另请参阅我的相关问题:如何以编程方式确定Git结帐是否为标签,如果是,那么标签名称是什么?

git bash shell

263
推荐指数
12
解决办法
10万
查看次数

Git:如何压缩分支上的所有提交

我创建了新的分支master:

git checkout -b testbranch

我做了20次提交.

现在我要压缩那20个提交.我这样做:

git rebase -i HEAD~20

如果我不知道有多少提交怎么办?有什么方法可以做以下事情:

git rebase -i all on this branch

git version-control

241
推荐指数
15
解决办法
13万
查看次数

Git:如何找出哪个分支标签?

我目前正忙着有很多分支的项目,我有一个标签,用于最后一次更改,其中一个分支完成.但是我不清楚这个标签在哪个分支上.

如何找出哪个分支标签?

tags git branch

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

git diff在约会?

我习惯于运行git比较,这将允许与本地git revs进行比较,如:

git diff HEAD HEAD~110 -- some/file/path/file.ext
Run Code Online (Sandbox Code Playgroud)

是否可以使用日期?如果是这样,怎么样?我希望能够代替上面例子中的"110",日期如"2012年12月4日".

git

54
推荐指数
3
解决办法
2万
查看次数

如何在PowerShell提示符中显示当前的git分支名称?

基本上我是在之后但是对于PowerShell而不是bash.

我通过PowerShell在Windows上使用git.如果可能,我希望我当前的分支名称显示为命令提示符的一部分.

git powershell command-prompt

52
推荐指数
5
解决办法
2万
查看次数

如何在分离的HEAD状态下找到当前的git分支

我可以通过执行以下任一操作找到当前的git分支名称:

git branch | awk '/^\*/ { print $2 }'
git describe --contains --all HEAD
Run Code Online (Sandbox Code Playgroud)

但是当处于分离的HEAD状态时,例如在Jenkins maven构建中的后构建阶段(或在Travis git fetch中),这些命令不起作用.

我目前的工作解决方案是:

git show-ref | grep $(git log --pretty=%h -1) | sed 's|.*/\(.*\)|\1|' | sort -u | grep -v HEAD
Run Code Online (Sandbox Code Playgroud)

它显示在其HEAD提示上具有最后一次提交的任何分支名称.这很好,但我觉得有一个强大的git-fu的人可能有一个更漂亮的解决方案?

git bash branch jenkins travis-ci

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

用于检查当前git branch ="x"的bash脚本

我非常擅长shell脚本(使用bash),我正在寻找一种方法来检查当前git分支是否为"x",如果不是"x"则中止脚本.

    #!/usr/bin/env bash

    CURRENT_BRANCH="$(git branch)"
    if [[ "$CURRENT_BRANCH" -ne "master" ]]; then
          echo "Aborting script because you are not on the master branch."
          return;      # I need to abort here!
    fi

    echo "foo"
Run Code Online (Sandbox Code Playgroud)

但这不太对

git bash shell sh

18
推荐指数
2
解决办法
6277
查看次数