<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之旅 廣告
                Git提供了多種修復你開發過程中的錯誤的方法. 方法的選擇取決于你的情況: 包含有錯誤的文件是否提交了(commited); 如果你把它已經提交了, 那么你是否把有錯誤的提交已與其它人共享這也很重要。 ## 修復未提交文件中的錯誤(重置) 如果你現在的工作目錄(work tree)里搞的一團亂麻, 但是你現在還沒有把它們提交; 你可以通過下面的命令, 讓工作目錄回到上次提交時的狀態(last committed state): ~~~ $ git reset --hard HEAD ~~~ 這條件命令會把你工作目錄中所有未提交的內容清空(當然這不包括未置于版控制下的文件 untracked files). 從另一種角度來說, 這會讓"git diff" 和"git diff --cached"命令的顯示法都變為空. 如果你只是要恢復一個文件,如"hello.rb", 你就要使用?[git checkout](http://www.kernel.org/pub/software/scm/git/docs/git-checkout.html) ~~~ $ git checkout -- hello.rb ~~~ 這條命令把hello.rb從HEAD中簽出并且把它恢復成未修改時的樣子。 > 譯者:上面二行和原文有出入,經驗證是原文有誤,所以我據正確的重寫了。 ## 修復已提交文件中的錯誤 如果你已經做了一個提交(commit),但是你馬上后悔了, 這里有兩種截然不同的方法去處理這個問題: 1. 創建一個新的提交(commit), 在新的提交里撤消老的提交所作的修改. 這種作法在你已經把代碼發布的情況下十分正確。 2 你也可以去修改你的老提交(old commit). 但是如果你已經把代碼發布了,那么千萬別這么做; git不會處理項目的歷史會改變的情況,如果一個分支的歷史被改變了那以后就不能正常的合并。 ### 創建新提交來修復錯誤 創建一個新的,撤消(revert)了前期修改的提交(commit)是很容易的; 只要把出錯的提交(commit)的名字(reference)做為參數傳給命令:?[git revert](http://www.kernel.org/pub/software/scm/git/docs/git-revert.html)就可以了; 下面這條命令就演示了如何撤消最近的一個提交: ~~~ $ git revert HEAD ~~~ 這樣就創建了一個撤消了上次提交(HEAD)的新提交, 你就有機會來修改新提交(new commit)里的提交注釋信息。 你也可撤消更早期的修改, 下面這條命令就是撤消“上上次”(next-to-last)的提交: ~~~ $ git revert HEAD^ ~~~ 在這種情況下,git嘗試去撤消老的提交,然后留下完整的老提交前的版本. 如果你最近的修改和要撤消的修改有重疊(overlap),那么就會被要求手工解決沖突(conflicts), 就像解決合并(merge)時出現的沖突一樣。 > 譯者注: git revert 其實不會直接創建一個提交(commit), 把撤消后的文件內容放到索引(index)里,你需要再執行git commit命令,它們才會成為真正的提交(commit)。 ### 修改提交來修復錯誤 如果你剛剛做了某個提交(commit), 但是你又想馬上修改這個提交;?[git commit](http://www.kernel.org/pub/software/scm/git/docs/git-commit.html)?現在支持一個叫**--amend**的參數,它能讓你修改剛才的這個提交(HEAD commit)。 這項機制能讓你在代碼發布前,添加一些新的文件或是修改你的提交注釋(commit message)。 如果你在老提交(older commit)里發現一個錯誤, 但是現在還沒有發布到代碼服務器上. 你可以使用?[git rebase](http://www.kernel.org/pub/software/scm/git/docs/git-rebase.html)命令的交互模式, "git rebase -i"會提示你在編輯中做相關的修改. 這樣其實就是讓你在rebase的過程來修改提交。
                  <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>

                              哎呀哎呀视频在线观看