Killswitchcollective.com的旧文章,2009年6月30日,有以下输入和输出
git co master
git merge [your_branch]
git push
upstream A-B-C-D-E A-B-C-D-E-F-G
\ ----> \
your branch C-D-E G
Run Code Online (Sandbox Code Playgroud)
我感兴趣的是如何在终端中获得提交树的视图,而不使用OS/X中的Gitk或Gitx.
你怎么能在终端获得树状的提交视图?
假设我有以下本地存储库,其中包含如下提交树:
master --> a
\
\
develop c --> d
\
\
feature f --> g --> h
Run Code Online (Sandbox Code Playgroud)
master是我的这是最新的稳定版本代码,develop是我的这个'下一个'版本代码,feature是一个正在准备的新功能develop.
我希望能够使用钩子在我的远程仓库上做什么,feature除非提交f是developHEAD 的直接后代,否则推送被拒绝.即提交树看起来像这样,因为功能已经git rebase打开d.
master --> a
\
\
develop c --> d
\
\
feature f --> g --> h
Run Code Online (Sandbox Code Playgroud)
那么有可能:
feature?f是后代的?从那里我将检查父分支的HEAD是什么,并查看f前任是否与父分支HEAD匹配,以确定该特征是否需要重新定位.
当使用*nix shell(通常是bash)时,我经常会生成一个子shell,我可以用它处理一个小任务(通常在另一个目录中),然后退出以恢复父shell的会话.
偶尔,我会忘记我是在运行嵌套shell,还是在我的顶层shell中,我会不小心产生一个额外的子shell或者错误地退出顶级shell .
有没有一种简单的方法来确定我是否在嵌套的shell中运行?或者我是以完全错误的方式解决我的问题(通过产生子壳)?
我正在使用gitk --all来查看git日志.gitk不会为每个提交显示sha哈希值.您需要手动单击提交以查看sha哈希.我想在单个视图中看到sha哈希和分支名称.
如何使用git log命令显示标记名称和分支名称.
arc help --full | less显示以下内容graft:
graft revision
Grafts revision and its dependencies (if any) onto your working tree.
--force
Do not run any sanity checks.
--skip-landed
Do not try to patch landed/closed diffs.
Run Code Online (Sandbox Code Playgroud)
这是为了patch:
patch D12345
patch --revision revision_id
patch --diff diff_id
patch --patch file
patch --arcbundle bundlefile
Supports: git, svn, hg
Apply the changes in a Differential revision, patchfile, or arc
bundle to the working copy.
--arcbundle bundlefile
Apply changes from an arc bundle …Run Code Online (Sandbox Code Playgroud) 有没有一个工具可以显示特定分支已合并到哪些分支?例如,如果“A”已合并为“B”和“C”但没有合并为“D”,那么如何输出“B”和“C”?我只需要分支名称。
基于评论的更新问题:
项目 P,由子模块/迷你项目 A、B、C、D、E 组成。
请注意,A、B、C、D、E 是包含自己项目的目录,例如 A:Web,B:分析 C:Devops D:does_somethings E:Extra_features 等等。换句话说,每个 AE 都是它自己的存储库。
A 可以有由 user1 创建或检出的 b1,b2,b3 分支。
B 可以有 x1,x2,x3 分支,同样由 user1 执行。等等。
所以每个子文件夹 A、B、C、D、E 可以有多个未合并/合并的分支。
我的问题是,是否有一个命令会自动告诉我哪个分支在 P.
现在我正在cd进入每个子文件夹,然后输入 'git branch'。
所以如果我有 10 个子文件夹,我必须 cd 进入它们 10 次,然后再执行 git branch 10 次。
我查了一下:https : //stackoverflow.com/a/2421063/4590025
git log --graph --pretty=oneline --abbrev-commit
但这不是我要找的。
我正在寻找类似鸟瞰图的东西。