<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                ThinkChat2.0新版上線,更智能更精彩,支持會話、畫圖、視頻、閱讀、搜索等,送10W Token,即刻開啟你的AI之旅 廣告
                不用40個字節長的SHA串來表示一個提交(commit)或是其它git對象, 有很多種名字表示方法. 在Git里,這些名字就叫'樹名'(treeish). 譯者注:我目前沒有想到更好的中文名字,就先叫'樹名'. ## Sha短名 如果你的一個提交(commit)的sha名字是 '`980e3ccdaac54a0d4de358f3fe5d718027d96aae`', git會把下面的串視為等價的: ~~~ 980e3ccdaac54a0d4de358f3fe5d718027d96aae 980e3ccdaac54a0d4 980e3cc ~~~ 只要你的‘sha短名’(Partial Sha)是不重復的(unique),它就不會和其它名字沖突(如果你使用了5個字節以上那是很難重復的),git也會把‘sha短名’(Partial Sha)自動補全. ## 分支, Remote 或 標簽 你可以使用分支,remote或標簽名來代替SHA串名, 它們只是指向某個對象的指針. 假設你的master分支目前在提交(commit):'980e3'上, 現在把它推送(push)到origin上并把它命名為標簽'v1.0', 那么下面的串都會被git視為等價的: ~~~ 980e3ccdaac54a0d4de358f3fe5d718027d96aae origin/master refs/remotes/origin/master master refs/heads/master v1.0 refs/tags/v1.0 ~~~ 這意味著你執行下面的兩條命令會有同樣的輸出: ~~~ $ git log master $ git log refs/tags/v1.0 ~~~ ## 日期標識符 The Ref Log that git keeps will allow you to do some relative stuff locally, such as: Git的引用日志(Ref Log)可以讓你做一些‘相對'查詢操作: ~~~ master@{yesterday} master@{1 month ago} ~~~ 上面的第一條命令是:'master分支的昨天狀態(head)的縮寫‘. 注意: 即使在兩個有相同master分支指向的倉庫上執行這條命令, 但是如果這個兩個倉庫在不同機器上, 那么執行結果也很可能會不一樣. 譯者注:因為兩個不同機器上的倉庫的歷史一般很難相同. ## 順序標識符 這種格式用來表達某點前面的第N個提交(ref). ~~~ master@{5} ~~~ 上面的表達式代表著master前面的第5個提交(ref). ## 多個父對象 這能告訴你某個提交的第N個直接父提交(parent). 這種格式在合并提交(merge commits)時特別有用, 這樣就可以使提交對象(commit object)有多于一個直接父對象(direct parent). 譯者注:假設master是由a和b兩個分支合并的,那么?`master^1`?是指分支a,?`master^2`?就是指分支b. ~~~ master^2 ~~~ ## 波浪號 波浪號用來標識一個提交對象(commit object)的第N級嫡(祖)父對象(Nth grandparent). 例如: ~~~ master~2 ~~~ 就代表master所指向的提交對象的第一個父對象的第一個父對象(譯者:你可以理解成是嫡系爺爺:)). 它和下面的這個表達式是等價的: ~~~ master^^ ~~~ 你也可以把這些‘標識符'(spec)疊加起來, 下面這個3個表達式都是指向同一個提交(commit): ~~~ master^^^^^^ master~3^~2 master~6 ~~~ ## 樹對象指針 如果大家對第一章[Git對象模型](http://gitbook.liuhui998.com/1_2.html)還有印象的話, 就記得提交對象(commit object)是指向一個樹對象(tree object)的. 假如你要得到一個提交對象(commit object)指向的樹對象(tree object)的sha串名, 你就可以在‘樹名'的后面加上'{tree}'來得到它: ~~~ master^{tree} ~~~ ## 二進制標識符 如果你要某個二次制對象(blob)的sha串名,你可以在'樹名'(treeish)后添加二次制對象(blob)對應的文件路徑來得到它. ~~~ master:/path/to/file ~~~ ## 區間 最后, 你可以用".."來指兩個提交(commit)之間的區間. 下面的命令會給出你在"7b593b5" 和"51bea1"之間除了"7b593b5外"的所有提交(commit)(注意:51bea1是最近的提交). ~~~ 7b593b5..51bea1 ~~~ 這會包括所有?_從_?7b593b開始的提交(commit). 譯者注: 相當于 7b593b..HEAD ~~~ 7b593b.. ~~~
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看