Git 入門(二)--- 經常使用指令和問題處理

關於Add與Commit

git add . 將全部修改提交到 stage 緩存區

git commit 將緩存區的更改提交到 本地倉庫

那麼,問題來了:
  • 如何取消commit,也就是撤銷提交到本地倉庫的操做?
  • 如何取消add,也就是撤銷提交到緩存區的操做?
  • 如何取消更改,也就是說,修改了文件或者增長了文件或者刪除了文件這時候怎麼撤銷?

放棄文件修改(修改了文件,未執行 git add 命令)

放棄單個文件的修改 git checkout xxx xxx是文件path

放棄全部文件更改 git checkout .

放棄文件的增長(新建了文件、爲add

放棄單個文件的新增 rm xxx,其實就是cmd刪除文件命令

放棄全部新增的文件 git clean xdf,刪除全部新增的文件(不包括已經添加到緩存區的)。

撤銷提交到緩存區(執行了git add .命令,未commit

撤銷單個文件 git reset HEAD xxx,xxx是文件名

撤銷全部文件 git reset HEAD .

撤銷提交到本地倉庫(即取消git commit

說明,執行了 git commit以後,至關於本地倉庫已經更新了一個版本,就等待 push了,那麼要撤銷 commit也就是要回退版本,這種情形就是要將本地倉庫回退 1個版本。
git reset --hard HEAD^ 
// --hard 是參數,^是上一版本,
// 也能夠用~一、~2,表示回退多少個版本
--soft / --hard / --mixed 三個參數的說明:

--soft:暫存區的內容和本地已提交的內容所有恢復到 未暫存的狀態,換言之, addcommit的內容所有都會變成未 add的狀態。

--mixed:保留緩存區的內容,已提交的內容回到 緩存區。

--hard:緩存區的內容和已提交的內容都會被清空。(慎用!)

關於建立分支

git checkout -b xxx 建立並切換到 xxx分支,其實,這是在當前分支的基礎上建立 xxx分支,並切換到 xxx分支。

也能夠指定以其餘分支爲基礎來建立: git checkout -b xxx master

涉及的問題:
若是當前所在分支有未`add`到緩存區或者未`commit`的更改時是不能切換分支的,
也就是說上述的建立並切換到分支是不會執行的。
所以,當前所在分支要`commit`後才能切換分支。

合併其餘分支

git merge xxx 將xxx分支合併到當前分支。

關於刪除分支

刪除本地分支 git branch -D xxx 注意大寫D

刪除遠程的分支 git push orgin -d xxx
相關文章
相關標籤/搜索