我有一个旧分支,我想删除.但是,在执行此操作之前,我想检查对此分支所做的所有提交是否在某个时刻合并到其他分支中.因此,我希望看到所有提交到我当前分支的提交尚未应用于任何其他分支[或者,如果没有一些脚本,这是不可能的,如何看到一个分支中尚未应用的所有提交到另一个给定的分支?].
我尝试为此寻找一个特殊的git命令,但找不到一个.任何人都可以提出更短或更快的建议:
git branch | awk '/\*/ { print $2; }'
Run Code Online (Sandbox Code Playgroud) 这个问题类似于如何在git中列出指向特定提交的所有标记,但有一点不同:我希望在每个标记的树中搜索包含特定提交的所有标记,而不是标记在标记中的文件本身(在这种情况下,只标记了Makefile更改).
有人可以解释一个"跟踪分支",因为它适用于git?
这是git-scm.com的定义:
Git中的"跟踪分支"是连接到远程分支的本地分支.当您按下并拉动该分支时,它会自动推送并拉到与其连接的远程分支.
如果您始终从同一个上游分支拉入新分支,并且您不想明确使用"git pull",请使用此选项.
不幸的是,对于git和来自SVN的新手来说,这个定义对我来说绝对没有意义.
我正在阅读" Git的实用指南 "(顺便说一句好书),他们似乎建议跟踪分支是一件好事,并且在创建第一个遥控器(原点,在这种情况下)后,你应该将您的主分支设置为跟踪分支,但遗憾的是,它不包括为什么跟踪分支是一件好事,或者通过将主分支设置为原始存储库的跟踪分支而获得的好处.
有人可以赐教(英文)吗?
我正在尝试做的是版本检查.我想确保代码保持在最低版本之上.所以我需要一种方法来知道当前分支是否包含指定的提交.
我目前正忙着有很多分支的项目,我有一个标签,用于最后一次更改,其中一个分支完成.但是我不清楚这个标签在哪个分支上.
如何找出哪个分支标签?
我很难理解git-fetch的细微差别.我知道做一个fetch,将远程refs提取到本地跟踪分支.
我有几个问题:
是否有可能本地跟踪分支不存在?如果是,那么它会自动创建吗?
如果我执行fetch并指定非跟踪分支作为目标,会发生什么?
git-fetch的手册页指定:
git-fetch <options> <repository> <refspec>
Run Code Online (Sandbox Code Playgroud)我如何使用refspec从远程主站获取内容到其远程跟踪分支?我相信如果我现在的HEAD在主人身上并且我跑了,这可能是可能的
git fetch origin master
但是,我可以使用<+?src:dest>refspec来实现同样的目的吗?我认为这将有助于我更好地理解这些概念.
还有一个问题:
我的.git/config文件有以下行用于获取(仅显示相关行):
fetch = +refs/heads/*:refs/remotes/origin/*
Run Code Online (Sandbox Code Playgroud)
有人可以解释这条线的确切含义吗?
我在我的本地分支中有一个提交xyz,我想检查它是否包含在远程发布存储库中; 我能以一些简单的方式做到吗?我可以克隆远程仓库,但我希望有一个更好的+更快的方式.git ls-remote似乎很有希望,但在那里找不到任何有价值的东西.谢谢!
我在我的Git存储库中有一个包含单词"Foo"的行,之前有几百个提交.
如果有没有办法找到它的修订号,那是最后一次没有购买FishEye?
如果我从多个分支中挑选,是否有一种简单的方法来确定提交的来源(例如原始提交的sha)?
示例:
- 在主分支
- 来自开发分支的樱桃选择提交A
- A在主分支处变为D.
之前:
* B (master) Feature Y
| * C (dev) Feature Z
| * A Feature X
|/
* 3
* 2
* 1
Run Code Online (Sandbox Code Playgroud)
后:
* D (master) Feature X
* B Feature Y
| * C (dev) Feature Z
| * A Feature X
|/
* 3
* 2
* 1
Run Code Online (Sandbox Code Playgroud)
是否有可能弄清楚D是从A中挑选出来的(除了搜索提交消息)?
编辑:
虽然我会使用daggy-fixes(请参阅VonCs回答)我接受了Chris Johnsens的回答,因为它更接近实际问题.多谢你们.