Undoing Changes

在論壇里看到這樣一個帖子:https://ruby-china.org/topics/26320
剛好幾周前在公司做了一次關(guān)于git使用的分享。所以想拿出來分享下這個內(nèi)容。

關(guān)于Undoing Changes

checkout

checkout有3個作用分別是:

  1. checkout files
    git checkout master切換分支
  2. checkout commit
    git checkout <commit> <file>可以checkout某個commit下的文件并放入暫存區(qū)
  3. checkout branch
    git checkout <commit>可以checkout某個commit,然后可以將當前置于某個游離的commit

整體來講checkout可以提供一個功能review commit,并且是無害的。但是使用git checkout HEAD file,(可以省略HEAD)可以清空當前工作區(qū)的內(nèi)容。

revert

通過revert commit來回滾某個歷史commit,所以是安全的。

reset

reset file,可以講暫存區(qū)的移除到工作區(qū)。
reset commit,撤銷local的某個commit,有3種模式
如果只是清除或者修改某個私有分支的未提交commit,直接reset即可。
如果已經(jīng)提交到remote,需要強制push。但是因為會修改歷史commit記錄,所以對其他人會有影響,所以不建議在公共分支上做此操作!
如果需要回滾某個公有分支的commit,可以切出私有分支revert某個commit,然后提交pr。

clean

清除Unstaging a File

參考這里:
https://www.atlassian.com/git/tutorials/undoing-changes
https://www.atlassian.com/git/tutorials/resetting-checking-out-and-reverting

另外還有兩篇:
https://www.atlassian.com/git/tutorials/rewriting-history
https://www.atlassian.com/git/tutorials/merging-vs-rebasing
主要介紹merge和rebase。一般用rebase -i來整理私有分支上的commit。
在私有分支上rebase其他分支來引入其他分支的commit,并且merge以后可以很好的保證一個線性的commit歷史紀錄。
但是永遠不要在公有分支上rebase操作,因為會修改歷史commit的歷史紀錄

git的workflow
https://www.atlassian.com/git/tutorials/syncing
thoughtbot的:
https://github.com/thoughtbot/guides/blob/master/protocol/git/README.md

另外推薦一個工具:
https://github.com/aanand/git-up

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

推薦閱讀更多精彩內(nèi)容

  • Add & Commit git init 初始化一個 Git 倉庫(repository),即把當前所在目錄變成...
    冬絮閱讀 4,906評論 0 9
  • 一、git簡介 git是目前世界上被最廣泛使用的現(xiàn)代軟件版本管理系統(tǒng)。git本身亦是一個成熟并處于活躍開發(fā)狀態(tài)的開...
    s_在路上閱讀 3,060評論 0 10
  • 配置 首先是配置帳號信息ssh -T git@github.com # 登陸 github 修改項目中的個人信息 ...
    guanguans閱讀 759評論 0 3
  • 一. 版本控制術(shù)語 版本控制系統(tǒng)(VCS):管理不同版本源代碼的系統(tǒng) 提交(commit):將源代碼的變動提交到V...
    Leesper閱讀 686評論 0 1
  • 頁面兩欄布局分為下面幾種情況: 一欄固定寬度,一欄自適應(yīng) 一欄不定寬,一欄自適應(yīng) 兩欄等高 左右寬度比為1:2,右...
    meow_possion閱讀 1,108評論 0 0