git 常用命令

配置

git config --global user.name [name]

git config --global user.email [emailUrl]

配置name和email

git config --list

查看所有配置

遠程倉庫相關命令

git clone [remoteUrl]遠程倉庫地址

檢出(克隆)倉庫,地址可以是https的方式也可以是ssh的方式

git remote

查看已經存在的遠程分支

git remote -v | --verbose

列出詳細信息,在每個名字后面列出其遠程url
** git remote add [遠程倉庫名] url ** 添加一個新的遠程倉庫,可以指定一個簡單的名字。eg:
git remote add origin git://github.com/gitName.git

git remote add [name] [url]

添加遠程倉庫

git remote rm [name]

刪除遠程倉庫
git pull [remoteName] [localBranchName]
拉取遠程倉庫

git init --bare

創建一個所謂的裸倉庫,之所以叫裸倉庫是因為這個倉庫只保存git歷史提交的版本信息,而不允許用戶在上面進行各種git操作,如果你硬要操作的話,只會得到下面的錯誤(”This operation must be run in a work tree”)

git init

初始化一個倉庫

分支相關命令

git branch

查看本地分支,星號(*)表示當前所在的分支

git branch -r

查看遠程分支

git branch -a

查看所有分支

git branch [name]

創建本地分支,注意:新分支創建后不會自動切換為當前分支

git checkout [name]

切換分支

git checkout -b [name]

創建分支,并立即切換到新的分支

git branch -d [name]

刪除分支

git merge [name]

合并分支,將名稱為[name]的分支與當前分支合并

git rebase [name1] [name2]

衍合分支,將name1分支衍合到name2分支上。

暫存(stash) 相關命令

git stash

保存當前工作區和暫存區的修改

git stash save -a "暫存描述信息"

網上很多很多資料都沒有加 -a 這個option選項,我想他們的代碼開發可能都是在原代碼上進行修改吧。而對于在項目里加入了代碼新文件的開發來說,-a選項才會將新加入的代碼文件同時放入暫存區。

git stash list

查看已暫存的列表

git stash pop [--index] [<stash>] 恢復

--index: 參數:不僅恢復工作區,還恢復暫存區。
<stash>: 指定恢復某一個具體進度。如果沒有這個參數,默認恢復最新進度

eg:

git stash pop --index stash@{1}

git stash pop stash@{id或者編號}

將指定編號的暫存應用(恢復)到工作區,并把這條暫存從暫存列表中移除

git stash drop [<stash>]

刪除某一個stash,默認刪除最新的進度

git stash clear

將所有stash清除

git stash popgit stash apply的區別

git stash pop stash@{id} 命令會在執行后將對應的stash id 從stash list里刪除,而git stash apply stash@{id} 命令則會繼續保存stash id

tag 相關命令

git tag

查看標簽

git tag [name]

創建標簽

git tag -d [name]

刪除標簽

git push origin [name]

本地標簽push到遠程

git push origin :refs/tags/[name]

刪除遠程標簽

git pull origin --tags

合并遠程倉庫的tag到本地

忽略文件和文件夾

在倉庫目錄下創建名稱為.gitignore的文件,寫入需要忽略的文件夾名或文件名,每個元素占一行即可

文件的生命周期

git add .

將工作時所有的變化提交到暫存區,包括文件內容修改以及新文件,但不包括刪除文件

git add -u

u: update、僅監控已經跟蹤(被add)的文件,不會提交新文件

git add -a

a: all、是上面兩個功能的合集

git checkout [filePath]

撤銷修改

git reset HEAD [filePath]

撤銷暫存

git commit -m "提交信息"

將暫存區的修改提交到本地庫

git reset --soft HEAD^

撤銷本次提交

git reset --hard [commitId]

工作區和暫存區都回滾

git reset --soft [commitId]

將高于指定提交的內容回退到暫存區域,只需重新commit

git reset --mixed [commitId]

mixed為默認,將高于指定提交的內容回退到工作區域,需重新add、commit

git rm --cache [filePath]

刪除暫存區或分支上的文件,不刪除工作區的這個文件,只是刪除版本控制
git rm [filePath] 將文件從工作區,暫存區,分支上刪除

git pull

git pull = git fetch + git merge 
git fetch:把服務器的commit取回到本地
git merge: 把從服務器取回的代碼合并到本地

git rebase

把本地的修改先暫存起來,然后將服務器的代碼應用到本地,再將暫存提交應用

1、git rebase #合并代碼
2、出現沖突就解決沖突
3、git add . 重新添加
4、git rebase --continue #應用補丁

git rebase --abort #回滾到合并的狀態

注意事項:
可直接使用 
'git pull --rebase'
也可以通過全局配置 git pull
'git config brach.[分支的名字].rebase  true'

git log --graph

查看各個branch之間的關系圖

分支合并:git rebase [branch a] [branch b] : 將分支a衍和到分支b上,有沖突就解決沖突。

git diff

不加參數,即默認比較工作區和暫存區。

git diff --cached [<path>...]

比較暫存區與最新本地版本庫(本地庫中最近一次commit的內容)

git diff HEAD [<path>...]

比較工作區與最新本地版本庫.如果HEAD指向的是master分支,那么HEAD還可以換成master

git diff commit-id [<path>...]

比較工作區與指定commit-id的差異

git diff --cached [<commit-id>] [<path>...]

比較暫存區與指定commit-id的差異

git diff [<commit-id>] [<commit-id>]

比較兩個commit-id之間的差異

其他

git config --list

查看所有用戶

git commit -v

當你用-v參數的時候可以看commit的差異

git log

看你commit的日志

git diff

查看尚未暫存的更新

git blame [filePath]

查看該文件,每一行對應的作者

git cherry-pick [commit id]

合并某次,或某幾次提交,多個commitID之間用空格隔開

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市,隨后出現的幾起案子,更是在濱河造成了極大的恐慌,老刑警劉巖,帶你破解...
    沈念sama閱讀 228,646評論 6 533
  • 序言:濱河連續發生了三起死亡事件,死亡現場離奇詭異,居然都是意外死亡,警方通過查閱死者的電腦和手機,發現死者居然都...
    沈念sama閱讀 98,595評論 3 418
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人,你說我怎么就攤上這事。” “怎么了?”我有些...
    開封第一講書人閱讀 176,560評論 0 376
  • 文/不壞的土叔 我叫張陵,是天一觀的道長。 經常有香客問我,道長,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 63,035評論 1 314
  • 正文 為了忘掉前任,我火速辦了婚禮,結果婚禮上,老公的妹妹穿的比我還像新娘。我一直安慰自己,他們只是感情好,可當我...
    茶點故事閱讀 71,814評論 6 410
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著,像睡著了一般。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發上,一...
    開封第一講書人閱讀 55,224評論 1 324
  • 那天,我揣著相機與錄音,去河邊找鬼。 笑死,一個胖子當著我的面吹牛,可吹牛的內容都是我干的。 我是一名探鬼主播,決...
    沈念sama閱讀 43,301評論 3 442
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了?” 一聲冷哼從身側響起,我...
    開封第一講書人閱讀 42,444評論 0 288
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后,有當地人在樹林里發現了一具尸體,經...
    沈念sama閱讀 48,988評論 1 335
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 40,804評論 3 355
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發現自己被綠了。 大學時的朋友給我發了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 42,998評論 1 370
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖,靈堂內的尸體忽然破棺而出,到底是詐尸還是另有隱情,我是刑警寧澤,帶...
    沈念sama閱讀 38,544評論 5 360
  • 正文 年R本政府宣布,位于F島的核電站,受9級特大地震影響,放射性物質發生泄漏。R本人自食惡果不足惜,卻給世界環境...
    茶點故事閱讀 44,237評論 3 347
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧,春花似錦、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 34,665評論 0 26
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至,卻和暖如春,著一層夾襖步出監牢的瞬間,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 35,927評論 1 287
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人。 一個月前我還...
    沈念sama閱讀 51,706評論 3 393
  • 正文 我出身青樓,卻偏偏與公主長得像,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 47,993評論 2 374