3 回答

TA貢獻1825條經驗 獲得超4個贊
git checkout主要有三個作用:
第一個就是切換分支。例如你從遠程倉庫clone下來所有的源代碼,你git branch一下會看到你通常是在master,如果你想切換到某一個分支上呢?git checkout <branchname>
第二個就是放棄對某個文件的修改。例如你想放棄對某個文件Hello.cpp的修改,git checkout -- <Hello.cpp>
第三個就是新建一個分支,git checkout <-b> <branchname>,不加-b的話只新建不切換到新的分支上,加-b新建并切換到該分支上
git reset主要是取消上一次的操作,具體用法有很多,說兩個:
第一個取消merge,git reset --hard ORIG_HEAD,這樣會退回到merge前的代碼。
第二個就是取消commit,git eset HEAD~<num> <-soft/-hard>,取消上num次的commit
第三個是將文件從stage(追蹤的庫)中移除,git reset HEAD <filename>

TA貢獻1803條經驗 獲得超3個贊
git reset用于撤銷操作。
git reset [--hard | --mixed | --soft] [<commit>]
--hard 會執行下圖中操作123,參數hard會同時改變版本庫的HEAD引用指向,緩存區內的內容,以及工作空間的內容,執行之后HEAD引用會指向commit指向的版本,同時緩存區內的內容也會以版本庫HEAD指向的版本進行刷新,工作空間內的內容也會以HEAD引用指向的代碼版本進行替代。
--mixed 會執行下圖中操作12 在該參數的情況下,工作空間內的內容不會被刷新,只會更新HEAD引用的指向以及緩存區的內容
--soft 會執行下圖中操作1 只會改變HEAD引用的指向
git checkout一般用于切換分支,也可以用來回退代碼
git checkout branchName切換分支到指定的分支上,使用的時候,需要注意,使用該命令工作空間下的內容會被指定的分支內容覆蓋,在之前分支上面所做的沒有提交的變動會丟失。 如果需要新建一個分支并使用新的分支,我們可以使用git checkout -b dev,這樣我們就新建了一個名為dev的分支,并切換到該分支下面。
該命令默認以HEAD引用來創建分支,需要需要使用指定的版本號來創建分支,可以在后面跟上版本號。

TA貢獻1821條經驗 獲得超5個贊
git checkout -- file;撤銷對工作區修改;這個命令是以最新的存儲時間節點(add和commit)為參照,覆蓋工作區對應文件file;這個命令改變的是工作區
git reset HEAD -- file;清空add命令向暫存區提交的關于file文件的修改(Ustage);這個命令僅改變暫存區,并不改變工作區,這意味著在無任何其他操作的情況下,工作區中的實際文件同該命令運行之前無任何變化
- 3 回答
- 0 關注
- 1301 瀏覽
添加回答
舉報