與《讀《Git權(quán)威指南》》同步更新
git --version //獲取git當(dāng)前版本
git init //將當(dāng)前目錄初始化git倉庫
git add <fileName> //將指定文件添加進暫存區(qū)
git add . //將所有有變化的文件添加暫存區(qū)
git commit -m "備注"http://將暫存區(qū)中的變化添加進工作區(qū)
git status -s //將文件的狀態(tài)精簡的輸出
git push origin master //將本地倉庫的master分支推送合并到遠程倉庫中
git pull origin master //將遠程倉庫的master分支合并到本地倉庫
git reset //將之前用git add命令更新到暫存區(qū)的內(nèi)容撤出暫存區(qū)
git reset - <fileName> //指定文件將之從暫存區(qū)撤銷
git reset HEAD^ //撤銷最新的一次add和commit
git checkout . //放棄當(dāng)前目錄下的修改
git checkout <filename> //放棄單個文件的修改
//配置和移除 Git全局配置文件中的name和email
$ git config --global user.name "xxx"
$ git config --global user.email xxx@xxx.com
$ git config --unset --global user.name
$ git config --unset --global user.email
可以看出reset命令,大部分都不會影響工作區(qū)
/// 僅用HEAD指向的目錄樹重置暫存區(qū),工作區(qū)不會受到影響。相當(dāng)于將之前用git add命令更新到暫存區(qū)的內(nèi)容撤出暫存區(qū)。
git reset
/// 僅用HEAD指向的目錄樹重置暫存區(qū),工作區(qū)不會受到影響。相當(dāng)于將之前用git add命令更新到暫存區(qū)的內(nèi)容撤出暫存區(qū)。
git reset HEAD
/// 僅將文件filename撤出暫存區(qū),暫存區(qū)中其他文件不改變。相當(dāng)于對命令git add filename的反向操作。
git reset – filename
/// 撤銷最新的一次commit。工作區(qū)和暫存區(qū)不改變,但是版本庫的引用向前回退一次。
git reset –soft HEAD^
/// 撤銷最新的一次add和commit。工作區(qū)不改變,但是暫存區(qū)會回退到上一次提交之前,引用也會回退一次。
git reset HEAD^
/// 徹底撤銷最近的提交。引用回退到前一次,而且工作區(qū)和暫存區(qū)都會回退到上一次提交的狀態(tài)。自上一次以來的提交全部丟失。
git reset –hard HEAD^
重置命令(reset)一般用于重置暫存區(qū)(除非使用
--hard參數(shù),否則不重置工作區(qū))
檢出命令(checkout)主要是覆蓋工作區(qū)(如果
<commit>不省略,也會替換暫存區(qū)中相應(yīng)的文件)
/// 將分支切換到master(master是分支名)
git checkout master
/// 放棄單個文件的修改(filename是文件名)
git checkout filename
/// 放棄當(dāng)前目錄下的修改。這條命令最危險!會取消所有本地的修改(相對于暫存區(qū))。
/// 相當(dāng)于將暫存區(qū)的所有文件直接覆蓋本地文件,不給用戶任何確認的機會!
git checkout .
命令
git stash可以用于保存和恢復(fù)工作進度
/// 保存當(dāng)前工作進度。會分別對暫存區(qū)和工作區(qū)的狀態(tài)進行保存。
git stash
/// 顯示進度列表。此命令顯然暗示了`git stash`可以多次保存工作進度,并且在恢復(fù)的時候進行選擇。
git stash list
/// 如果不使用任何參數(shù),會恢復(fù)最新保存的工作進度,并將恢復(fù)的工作進度從存儲的工作進度列表中清除
/// 如果提供<stash>參數(shù)(來自于git stash list顯示的列表),則從該<stash>中恢復(fù)?;謴?fù)完畢也將從進度列表中刪除<stash>
/// 選項--index除了恢復(fù)工作區(qū)的文件外,還嘗試恢復(fù)暫存區(qū)
git stash pop [–index] [<stash>]
/// 除了不刪除恢復(fù)的進度之外,其余和git stash pop命令一樣。
git stash apply [–index] [<stash>]
/// 刪除指定的一個進度,默認刪除最新的進度
/// 使用方法如git stash drop stash@{0}
git stash drop
/// 刪除所有存儲的進度
git stash clear
/// 顯示stash的內(nèi)容具體是什么,默認顯示最新的進度
/// 使用方法如 git stash show stash@{0}
git stash show