相关疑难解决方法(0)

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

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

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

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

git branch git-branch

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

如何获得最近提交的Git分支列表?

我想得到一个Git存储库中所有分支的列表,顶部有"最新鲜"的分支,其中"最新鲜"的分支是最近提交的分支(因此,更可能是一个分支)我想要注意).

有没有办法可以使用Git(a)通过最新提交对分支列表进行排序,或者(b)以某种机器可读格式获取分支列表以及每个分支的最后提交日期?

最糟糕的情况是,我总是可以运行git branch以获取所有分支的列表,解析其输出,然后git log -n 1 branchname --format=format:%ci为每个分支获取每个分支的提交日期.但这将在Windows机器上运行,其中启动一个新进程相对昂贵,因此如果有很多分支,每个分支启动Git可执行文件可能会变慢.有没有办法用一个命令完成所有这些?

git version-control branch

1197
推荐指数
22
解决办法
35万
查看次数

shell编程中$(command)和`command`有什么区别?

要将命令的输出存储为sh/ksh/bash中的变量,您可以执行任一操作

var=$(command)
Run Code Online (Sandbox Code Playgroud)

要么

var=`command`
Run Code Online (Sandbox Code Playgroud)

两种方法之间有什么区别?

bash shell ksh sh

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

跟踪所有远程git分支作为本地分支

将单个远程分支作为本地分支进行跟踪非常简单.

$ git checkout --track -b ${branch_name} origin/${branch_name}
Run Code Online (Sandbox Code Playgroud)

将所有本地分支推送到远程,根据需要创建新的远程分支也很容易.

$ git push --all origin
Run Code Online (Sandbox Code Playgroud)

我想反过来.如果我在一个源上有X个远程分支:

$ git branch -r 
branch1
branch2
branch3
.
.
.
Run Code Online (Sandbox Code Playgroud)

我是否可以为所有远程分支创建本地跟踪分支,而无需手动创建每个分支?说出类似的话:

$ git checkout --track -b --all origin
Run Code Online (Sandbox Code Playgroud)

我用google搜索和RTM,但到目前为止已经上传了.

git branch

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

在shell脚本中使用$()而不是反引号有什么好处?

有两种方法可以捕获命令行的输出bash:

  1. Legacy Bourne shell反手``:

     var=`command`
    
    Run Code Online (Sandbox Code Playgroud)
  2. $() 语法(据我所知,特定于Bash,或至少不受原始Bourne等非POSIX旧shell支持)

     var=$(command)
    
    Run Code Online (Sandbox Code Playgroud)

与反引号相比,使用第二种语法有什么好处吗?或两者完全相同?

syntax sh backticks

149
推荐指数
8
解决办法
6万
查看次数

如何更改git branch输出顺序

当我输入时git branch,我会收到一个分支列表,这些分支看起来按字母顺序排序,而不是按创建时间排序.

有没有办法git branch按日期排序?

git git-branch

14
推荐指数
3
解决办法
2634
查看次数

Git使用普通名称获取一次分支,并使用大写字母获取一次

我正在寻找远程分支并陷入某种循环.

我取一次然后得到:

$ git fetch
* [new branch]      minorRelease/something-> origin/minorRelease/something
Run Code Online (Sandbox Code Playgroud)

然后我再次获取并得到:

$ git fetch
* [new branch]      minorRelease/Something-> origin/minorRelease/Something
Run Code Online (Sandbox Code Playgroud)

相同的分支但有资本S.

我试图从以下文件夹中删除该文件.git/refs/remotes/origin/minorRelease,但是当再次获取时,我得到两个并返回上面的循环:

$ git fetch
* [new branch]      minorRelease/Something-> origin/minorRelease/Something
* [new branch]      minorRelease/something-> origin/minorRelease/something
Run Code Online (Sandbox Code Playgroud)

git case-insensitive remote-branch git-fetch

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

仅命名`git branch --list`的选项?

git branch输出一个分支列表,但也输出其他面向人的绒毛,如*当前分支旁边的星号().

$ git branch
* (HEAD detached at origin/master)
  branch_foo
  some/branch_bar
Run Code Online (Sandbox Code Playgroud)

如何获得更多机器可解析的输出(例如,只是分支的名称)以供脚本使用等?

git

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

结帐源/ <branch>时如何知道我在git上的分支

我们有一个实际git fetch; git checkout origin/<branch>部署特定功能的脚本.我们这样做的原因是我们不想避免使用本地分支(它是测试服务器),因此脚本只需获取最新的更改并将其签入,然后重新加载服务器.

我们还生成一个日志,描述每个部署,通过电子邮件发送给某人和存档.有趣的是,我们也发送了部署的分支,但问题是当我们这样做时checkout origin/<branch>,我们正在改变一个独立的头.我用类似的问题读了一些答案,但没有那么具体.

有没有办法打印我在这种情况下的分支(当然,无论用户输入)?

git version-control

0
推荐指数
1
解决办法
1325
查看次数