相关疑难解决方法(0)

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

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

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

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

git branch git-branch

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

如何将GIT存储库从一台服务器迁移到一台新服务器

我有一台服务器,我正在取消.我唯一要迁移的是我的存储库.此服务器被列为我的一个项目的源(主).移动存储库以保留历史记录的正确方法是什么.

git

256
推荐指数
12
解决办法
16万
查看次数

是否可以在Git项目的所有分支中执行'grep搜索'?

是否可以git grep在Git控件源项目的所有分支内运行?还是有另一个命令要运行?

git grep

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

如何列出包含等效提交的分支

在先前的问题中,有人为查找包含EXACT提交的分支提供了答案:

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

接受的答案强调,这仅适用于EXACT提交ID,而不适用于相同的提交.有人进一步指出,Git Cherry可以用来解决这个问题.

Git樱桃SEEMS适合反向; 发现提交没有推到上游.如果我不知道哪个分支创建它以及什么是上游,那么这是无用的.所以我不知道它将如何帮助解决这个问题.

有人可以解释/提供一个如何使用git cherry查找包含特定提交的"等效"的所有分支的示例吗?

git version-control

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

在crlf规范化后使用存储来阻止回购?

我有一个状态的本地仓库禁止我提交,藏匿,结账到另一个分支,甚至放弃更改.所以我只是卡住了.

据我记忆,我会试着描述一下这些情况给我带来了什么.

请坐下

不久之前,在远处的另一台计算机......根据以下内容在项目中另一个开发标准化的crlf:https://help.github.com/articles/dealing-with-line-endings

在那一刻(你知道,光速......)我在本地做了一些改变,提交和拉动.

当我拉Git说:

error: Your local changes to the following files would be overwritten by merge:
    wp-config.php
Run Code Online (Sandbox Code Playgroud)

wp-config.php之前已从索引中删除,git update-index --assume-unchanged wp-config.php因为它的模板配置文件适用于每个本地环境.

基础"模板"可以改变.没什么好惊讶的.这就是我的计划:

  1. 重新索引 wp-config.php
  2. stash 我自己的配置发生变化
  3. pull origin master
  4. stash apply 我的配置回来了

在第3步出现问题git pull origin master仍然是上面的错误,好像存储无效.

git statuswp-config.php没有进行改变的提交.在藏匿之后,这让我感到惊讶.

自从我把我的变化藏起来后,我跑了git checkout -- wp-config.php......但没有任何效果!文件仍未进行提交.

由于我变得疯了,我创建了一个新的分支my-config,添加并提交wp-config.php到它,然后切换回master,删除wp-config.php(使用git rm),并合并origin/master ...成功!

所以现在主人是最新的和干净的,我计划在没有Git帮助的情况下恢复我自己的配置(手动编辑文件).

因为我想知道发生了什么,我切换到my-config分支,并尝试了一个非常简单的操作:

git stash
git stash apply
Run Code Online (Sandbox Code Playgroud)

你猜怎么着?stash apply …

git newline git-stash

10
推荐指数
2
解决办法
3710
查看次数

列出所有不带星号的本地git分支

如果我跑步git branch,我会得到类似:

* master
  dev
  foo
Run Code Online (Sandbox Code Playgroud)

如果这样做git branch -r,它将显示遥控器上的所有分支,而没有星号(星号显示我当前已签出的分支)。

如何列出所有本地分支机构,而不会出现星号?我需要一个编程解决方案,以便可以逐行读取结果。

git git-branch

9
推荐指数
1
解决办法
2123
查看次数

如何跨Git存储库中的所有分支更新文件

在aa存储库具有多个分支的情况下:如何简单地跨所有分支更新文件.

在这种情况下,它是一个类似bashrc的文件,它指定了一些环境变量.我过去更新了主分支版本,然后重新定位了每个分支.这有一个n + 1开销,我想避免.

git git-branch

7
推荐指数
2
解决办法
2577
查看次数

git脚本:如何列出包含提交的所有git分支

我可以使用很好的列出包含特定提交的所有分支git branch --list --contains.但正如关于如何列出所有分支的相关问题中所解释的,这是一个不应该在脚本中使用的瓷器命令.

后一个问题建议使用管道命令git for-each-ref,但这不支持--contains.

列出包含特定提交的所有分支的正确管道接口是什么.

git bash git-plumbing

6
推荐指数
2
解决办法
538
查看次数

远程分支的Git列表

我正在寻找在PowerShell脚本中为每个Git远程分支执行功能的最佳方法。

我不知道获取Git远程分支列表的最佳方法。我可以成功列出所有远程分支,但是我总是在分支名称中使用讨厌的格式。

这是我尝试过的命令以及得到的结果数组。

$allBranches = git branch -r
$allBranches = @('  origin/branch1', '  origin/branch2', '  origin/branch3')

$allBranches = git for-each-ref --shell --format=%(refname) refs/remotes/origin
$allBranches = @(''origin/branch1'', ''origin/branch2'', ''origin/branch3'')
Run Code Online (Sandbox Code Playgroud)

我想要 $allBranches = @('origin/branch1', 'origin/branch2', 'origin/branch3'),所以我目前的方法是使用Trim()以下命令从奇怪的分支名称中手动删除格式:

foreach($branch in $allBranches) {
    # Format $branch
    # Do function
}
Run Code Online (Sandbox Code Playgroud)

有没有更好的方法?

git powershell foreach git-branch

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

更改git存储库中标签的命名约定?

我有一个git存储库,其中包含许多格式为“ v1.2.3-rc-4”的标签,我想将其自动重命名为“ 1.2.3-rc4”。标记同时存在于本地和远程存储库中。

我要澄清的是,版本号中的数字部分应视为变量。以上值仅用于说明标签的格式。

有没有办法自动执行此更改?

git

4
推荐指数
1
解决办法
1000
查看次数

for循环所有具有特定名称的git分支

我有以下git分支

foo
bar
foobar
feature/foo
feature/bar
feature/buzz
Run Code Online (Sandbox Code Playgroud)

你会如何对以'feature /'开头的所有分支进行for循环?

当我尝试以下内容时,奇怪地打印出的不仅仅是git分支.

for i in $(git branch --list "feature/*"); do echo $i; done;
stuff.txt
icon.jpg
morestuff.txt
Vagrantfile
feature/foo
feature/bar
feature/buzz
Run Code Online (Sandbox Code Playgroud)

git

2
推荐指数
1
解决办法
1658
查看次数

为什么git branch和$(git branch)输出不同的结果

我正在尝试制作一个bash脚本,该脚本将在其他分支的当前分支之前打印提交。但是,当我git branch在子shell中执行命令时,不仅获得分支名称,还获得当前目录中的文件和文件夹列表。为什么呼叫的$(git branch)行为方式如此?

unix git bash shell version-control

2
推荐指数
1
解决办法
111
查看次数

通过 Git 远程跟踪分支的给定名称如何找到哪个本地分支跟踪它?

例如,通过给定一个 Git 远程跟踪分支的名称,upstream/develop如果有的话,如何找到哪个本地分支跟踪它?

如果可能,我正在寻找一种不依赖于 shell 脚本并且也适用于 Windows 的解决方案。

git version-control

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