remote - git pull branch




使用Git從之前的提交中分支出來 (7)

如果我有n次提交,我如何從n-3提交中分支?

我可以看到每個提交的散列。


一個很好的相關問題是:如何使用git的--help選項來解決這個問題? 讓我們試試這個:

git branch --help

我們看到這個輸出:

NAME
       git-branch - List, create, or delete branches    

SYNOPSIS
       git branch [--color[=<when>] | --no-color] [-r | -a]
               [--list] [-v [--abbrev=<length> | --no-abbrev]]
               [--column[=<options>] | --no-column]
               [(--merged | --no-merged | --contains) [<commit>]] [--sort=<key>]
               [--points-at <object>] [<pattern>...]
       git branch [--set-upstream | --track | --no-track] [-l] [-f] <branchname> [<start-point>]
       git branch (--set-upstream-to=<upstream> | -u <upstream>) [<branchname>]
       git branch --unset-upstream [<branchname>]
       git branch (-m | -M) [<oldbranch>] <newbranch>
       git branch (-d | -D) [-r] <branchname>...
       git branch --edit-description [<branchname>]

官樣文章。

搜索單詞“commit”的後續文本。 我們發現這一點:

   <start-point>
       The new branch head will point to this commit. It may be given as a branch name, a
       commit-id, or a tag. If this option is omitted, the current HEAD will be used instead.

我們正在某個地方!

現在,專注於這個gobbledegook的這一行:

git branch [--set-upstream | --track | --no-track] [-l] [-f] <branchname> [<start-point>]

對此凝結:

git branch <branchname> [<start-point>]

並做了。


你可以用Stash做。

  1. 點擊提交
  2. 在屏幕右上方點擊“標記此提交”
  3. 然後,您可以從剛剛創建的標籤創建新分支。

在github.com上做到這一點:

  1. 去你的項目。
  2. 點擊“提交”。
  3. 點擊您要從中分支的提交<> (“瀏覽歷史中的此處的存儲庫”)。
  4. 點擊左上方的“tree:xxxxxx”。 在語言統計欄下方,您可以選擇“查找或創建分支”(只需在那裡輸入新的分支名稱)

在您的Github回購庫上做到這一點的快速方法如下:

  • 找到你的分支的具體提交
  • 在SHA ID旁邊,點擊'瀏覽歷史上此時的回購'
  • 在這裡你可以從這個提交中創建一個新的分支

您可以通過哈希創建分支:

git branch branchname <sha1-of-commit>

或者使用符號參考:

git branch branchname HEAD~3

我能夠這樣做:

git branch new_branch_name `git log -n 1 --skip 3 --format=%H`

你必須輸入跳過值。 0是最新的,1是前一個,2是之前的提交等等。


git checkout -b <branch-name> <sha1-of-commit>




git-branch