标签: branch

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

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

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

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

git version-control branch

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

Subversion存储库中"分支","标记"和"主干"的含义是什么?

我已经在Subversion(我猜通用存储库)讨论中看到了很多这样的话.在过去的几年里,我一直在为我的项目使用SVN,但我从未掌握过这些目录的完整概念.

他们的意思是什么?

svn tags glossary branch trunk

1181
推荐指数
14
解决办法
43万
查看次数

有哪些常用的命名git分支实例的例子?

现在,我已经使用本地git存储库与我的组的CVS存储库进行了几个月的交互.我已经制作了一个几乎神经质的分支,其中大部分幸运地合并回我的行李箱.但是命名开始成为一个问题.如果我有一个容易用简单标签命名的任务,但是我在三个阶段完成它,每个阶段都包含它们自己的分支和合并情况,那么我每次都可以重复分支名称,但这会使历史有点混乱.如果我在名称中有更具体的说明,并且每个阶段都有单独的描述,那么分支名称开始变得冗长而且难以处理.

我确实在这里学习通过旧线程查看我可以开始用名称中的/来命名分支,即主题/任务,或类似的东西.我可能会开始这样做,看看它是否有助于保持更好的组织.

命名git分支有哪些最佳实践?

编辑:实际上没有人建议任何命名约定.当我完成分支时,我会删除分支.由于管理层不断调整我的优先事项,我恰巧有几个人.:)作为为什么我可能需要在任务上需要多个分支的示例,假设我需要将任务中的第一个离散里程碑提交到组的CVS存储库.那时,由于我与CVS的不完美交互,我会执行该提交然后杀死该分支.(如果我在那时尝试继续使用相同的分支,我看到太多奇怪的事情与CVS交互.)

git branch naming-conventions

1034
推荐指数
7
解决办法
48万
查看次数

在Git中删除后可以恢复分支吗?

如果我跑git branch -d XYZ,有没有办法恢复分支?有没有办法回去,好像我没有运行删除分支命令?

git branch git-branch

1007
推荐指数
14
解决办法
30万
查看次数

主分支和'起源/主人'分歧,如何'分散'分支'?

不知何故,我的主人和我的起源/主人分支已经分道扬.. 我实际上不希望它们分歧.如何查看这些差异并"合并"它们?

git branch

882
推荐指数
9
解决办法
66万
查看次数

如何在Git中克隆单个分支?

我有一个名为'skeleton'的本地Git存储库,用于存储项目框架.它有一些分支,用于不同类型的项目:

casey@agave [~/Projects/skeleton] git branch
* master
  rails
  c
  c++
Run Code Online (Sandbox Code Playgroud)

如果我想查看一个新项目的主分支,我可以做

casey@agave [~/Projects] git clone skeleton new
Initialized empty Git repository in /Users/casey/Projects/new/.git/
Run Code Online (Sandbox Code Playgroud)

一切都是我想要的.具体来说,新的主分支指向骨架主分支,我可以推拉以移动对基本项目设置的更改.

但是,如果我想要克隆另一个分支,那么什么不起作用.我无法得到它,所以我只拉动我想要的rails分支,例如分支,然后新的存储库有一个master分支,rails默认情况下推送到骨架存储库的分支并从中拉出.

这有什么好办法吗?或者,也许这不是Git想要我构建事物的方式,我当然对此持开放态度.也许我应该有多个存储库,Ruby on Rails骨架存储库跟踪主骨架存储库?任何克隆Ruby on Rails骨架存储库的单个项目.

git branch git-clone

749
推荐指数
13
解决办法
66万
查看次数

如何从Git中删除无效的远程分支引用?

在我目前的回购中,我有以下输出:

$ git branch -a
* master
  remotes/origin/master
  remotes/public/master
Run Code Online (Sandbox Code Playgroud)

我想remotes/public/master从分支列表中删除:

$ git branch -d remotes/public/master
error: branch 'remotes/public/master' not found.
Run Code Online (Sandbox Code Playgroud)

此外,输出git remote是奇怪的,因为它没有列出public:

$ git remote show 
origin
Run Code Online (Sandbox Code Playgroud)

如何从分支列表中删除"remotes/public/master"?

更新,尝试了git push命令:

$ git push public :master
fatal: 'public' does not appear to be a git repository
fatal: The remote end hung up unexpectedly
Run Code Online (Sandbox Code Playgroud)

git branch remote-branch

719
推荐指数
8
解决办法
26万
查看次数

如何将我当前的更改提交到git中的另一个分支

有时我会在工作目录中进行一些更改,并且我意识到这些更改应该在与当前更改的分支中提交.这通常发生在我想尝试新事物或进行一些测试时,我忘记事先创建一个新分支,但我不想将脏代码提交给主分支.

那么,如何将未提交的更改(或存储在索引中的更改)提交到与当前更改不同的分支?

git branch commit

626
推荐指数
3
解决办法
29万
查看次数

621
推荐指数
10
解决办法
60万
查看次数

如何将我的本地未提交的更改合并到另一个Git分支?

我怎么能在git中这样做:

我当前的分支是branch1,我做了一些本地更改.但是我现在意识到我实际上是要将这些更改应用于branch2.有没有办法应用/合并这些更改,以便它们成为branch2上的本地更改而不在branch1上提交它们?

git branch

606
推荐指数
4
解决办法
12万
查看次数