五GIT常用命令

安裝之類的就略過(guò)了直入正題
工作區(qū):本地代碼未add commit之前都在工作區(qū)
暫存區(qū):修改后進(jìn)行暫存的代碼.git亭枷,如add 之后進(jìn)行了存儲(chǔ)
本地代碼庫(kù):commit到本地代碼庫(kù)
遠(yuǎn)程倉(cāng)庫(kù):push提交遠(yuǎn)程
忽略文件:.girignore配置忽略

作為注釋

/開(kāi)頭防遞歸/結(jié)尾指定目錄
表示匹配零個(gè)或多個(gè)任意字符
似谁?表示只匹配一個(gè)任意字符
胁勺!表示取反
[abc]表示匹配a檐晕,b仇箱,c
[0-9]表示匹配0-9
/a
*z/表示匹配/a/z或/a/b/z或/a/b/c/d/z

配置提交代碼時(shí)用戶信息:

git config --global user.name "name"
git config --global user.email "xxx@email.com"
global為全局配置奖唯,如果想在某個(gè)獨(dú)立項(xiàng)目中使用其他名字或郵箱去掉global即可

編輯git信息

git config -e 編輯當(dāng)前倉(cāng)庫(kù)
git config -e --global 編輯所有倉(cāng)庫(kù)

查看配置信息:

git config --list

創(chuàng)建命令:

git init:初始化倉(cāng)庫(kù)在當(dāng)前目錄下生成.git目錄
git init newrepo在newrepo目錄下生成.git
git clone:遠(yuǎn)程倉(cāng)庫(kù)拷貝項(xiàng)目
git clone <repo> <directory>:拷貝到指定目錄

提交與修改:

git add --<file>:添加文件到暫存區(qū)
git add .:添加所有文件到暫存區(qū)
git status:查看當(dāng)前倉(cāng)庫(kù)狀態(tài) -s以緊湊格式輸出
git diff:比較暫存區(qū)和工作區(qū)差異
git diff --cached/--staged查看已暫存要提交內(nèi)容
git commit -m :注釋說(shuō)明"提交暫存區(qū)到本地倉(cāng)庫(kù)
git commit -a -m:合并add執(zhí)行commit
git commit --amend:漏提文件或修改提交信息嘗試重新提交
git rm:刪除工作區(qū)文件
git rm --cached:移除文件追蹤單不刪除惨缆,可用于不小心提交了不想追蹤文件且未添加.gitignore文件
git rm -f:強(qiáng)制刪除暫存區(qū)文件
git mv from to:移動(dòng)或重命名工作區(qū)文件

提交日志:

git log:查看歷史提交記錄
git log -p:查看每次提交差異-數(shù)字可以查看最近指定次數(shù)提交差異
git log --stat:每次提交簡(jiǎn)要信息
git log --oneline :簡(jiǎn)潔版歷史提交記錄
git log --graph:查看歷史分支,合并
git log --reverse:逆向查看日志
git log --decorate:查看標(biāo)簽
git log --author="name" --oneline:查看指定用戶提交日志
--since --before --until --after:查看指定日期或范圍例:git log --oneline --before={3.weeks.ago} --after={2010-04-18} --no-merges
git blame <file>:以列表形勢(shì)查看指定文件修改記錄

遠(yuǎn)程操作:

git remote:查看遠(yuǎn)程倉(cāng)庫(kù)操作-v顯示倉(cāng)庫(kù)對(duì)應(yīng)的URL
git ls-remote (remote):顯式地獲得遠(yuǎn)程引用完整列表
git remote show name:查看名為name的遠(yuǎn)程倉(cāng)庫(kù)信息
git remote add name url:添加一個(gè)新的遠(yuǎn)程倉(cāng)庫(kù)并用name替代url丰捷,后續(xù)可以直接用name操作
git remote rename from to:修改遠(yuǎn)程倉(cāng)庫(kù)簡(jiǎn)寫名坯墨,同時(shí)修改遠(yuǎn)程分支名
git fetch name:結(jié)合上邊命令使用從遠(yuǎn)程拉取代碼
git fetch --all:抓取所有遠(yuǎn)程倉(cāng)庫(kù)
git fetch:抓去遠(yuǎn)程倉(cāng)庫(kù)代碼需要手動(dòng)合并
git pull:下載遠(yuǎn)程代碼并合并
git push:上傳遠(yuǎn)程代碼并合并
git push origin a:b:將本地a分支推送到遠(yuǎn)程倉(cāng)庫(kù)b分支
git push origin --delete branchname:刪除遠(yuǎn)程分支

分支管理:

git branch:查看本地分支
git branch (branchname):創(chuàng)建分支
git branch -d (branchname):刪除指定分支
git branch -v:查看每個(gè)分支最后提交--merged與--no-merged過(guò)濾合并未合并
git branch -vv:列出本地分及其詳細(xì)信息
信息git checkout (branchname):切換分支
git checkout -b (branchname):創(chuàng)建并切換到新創(chuàng)建分支
git rebase master:將當(dāng)前分支所有修改移到變基移到master,然后再切換到master分支快速合并當(dāng)前分支完成代碼合并病往,減少提交歷史
git rebase --onto master server client:取出 client分支捣染,找出處于client分支和server分支的共同祖先之后的修改,然后把它們?cè)?master分支上重演一遍停巷,即排除server分之修改只將獨(dú)屬于client的修改重演到master分支
git rebase master server:將上邊提到的server分支重演到master分支耍攘,切換到master再進(jìn)行快速合并git merge server
盡量少用變基操作因?yàn)轱L(fēng)險(xiǎn)可能有點(diǎn)大,如果使用只在本地代碼進(jìn)行變基畔勤,如提交到遠(yuǎn)程確保不會(huì)再丟棄上傳的變基

標(biāo)簽:

git tag -a <tagname>:添加標(biāo)簽用于記錄關(guān)鍵節(jié)點(diǎn)
git tag -a <tagname> (提交id):在指定提交下追加標(biāo)簽
git tag -d <tagname>:刪除標(biāo)簽
git tag:查看標(biāo)簽
git tag -a <tagname> -m "message":指定標(biāo)簽信息
git tag -a v1.2 9fceb02:歷史提交打tag
git tag -s <tagname> -m "message":PGP簽名標(biāo)簽
git log --oneline --decorate --graph --all:輸出提交歷史蕾各、各個(gè)分支的指向以及項(xiàng)目的分支分叉情況
git push origin tagname:顯示提交標(biāo)簽后才能在遠(yuǎn)程倉(cāng)庫(kù)共享
git push origin --tags:推送所有標(biāo)簽到遠(yuǎn)程倉(cāng)庫(kù)
git checkout -b [branchname] [tagname]:在特定的標(biāo)簽上創(chuàng)建一個(gè)新分支
git show <tagname> :查看修改內(nèi)容

撤銷操作:

git reset:回退版本
git reset HEAD file:從暫存區(qū)恢復(fù)文件到已修改未暫存狀態(tài)
git reset eb43bf file.txt:回退指定版本
git checkout --file:撤銷文件修改到上次提交狀態(tài)
git reset HEAD:覆蓋暫存區(qū),工作區(qū)不受影響HEAD~1/2/3指定版本
git reset --hard commitID:永指定版本覆蓋工作區(qū)
git reset --hard HEAD:回到之前的狀態(tài)或其他你想要恢復(fù)的狀態(tài)
git rm --cached <file> :刪除暫存區(qū)文件庆揪,工作區(qū)不變
git checkout .(全部替換)/git checkout -- <file>(替換文件)式曲,會(huì)清除工作區(qū)中未添加到暫存區(qū)的改動(dòng)。
git checkout HEAD .(全部替換)/git checkout HEAD <file>(替換文件)缸榛,會(huì)清除工作區(qū)未提交改動(dòng)和暫存區(qū)未提交改動(dòng)吝羞。

代碼合并

git merge (branchname): 合并指定分支到當(dāng)前分支
git merge --abort:有沖突時(shí)簡(jiǎn)單地退出合并并嘗試恢復(fù)到合并前狀態(tài)

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市内颗,隨后出現(xiàn)的幾起案子钧排,更是在濱河造成了極大的恐慌,老刑警劉巖起暮,帶你破解...
    沈念sama閱讀 216,496評(píng)論 6 501
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件卖氨,死亡現(xiàn)場(chǎng)離奇詭異会烙,居然都是意外死亡,警方通過(guò)查閱死者的電腦和手機(jī)筒捺,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,407評(píng)論 3 392
  • 文/潘曉璐 我一進(jìn)店門柏腻,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái),“玉大人系吭,你說(shuō)我怎么就攤上這事五嫂。” “怎么了肯尺?”我有些...
    開(kāi)封第一講書人閱讀 162,632評(píng)論 0 353
  • 文/不壞的土叔 我叫張陵沃缘,是天一觀的道長(zhǎng)。 經(jīng)常有香客問(wèn)我则吟,道長(zhǎng)槐臀,這世上最難降的妖魔是什么? 我笑而不...
    開(kāi)封第一講書人閱讀 58,180評(píng)論 1 292
  • 正文 為了忘掉前任氓仲,我火速辦了婚禮水慨,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘敬扛。我一直安慰自己晰洒,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,198評(píng)論 6 388
  • 文/花漫 我一把揭開(kāi)白布啥箭。 她就那樣靜靜地躺著谍珊,像睡著了一般。 火紅的嫁衣襯著肌膚如雪急侥。 梳的紋絲不亂的頭發(fā)上砌滞,一...
    開(kāi)封第一講書人閱讀 51,165評(píng)論 1 299
  • 那天,我揣著相機(jī)與錄音坏怪,去河邊找鬼布持。 笑死,一個(gè)胖子當(dāng)著我的面吹牛陕悬,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播按傅,決...
    沈念sama閱讀 40,052評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼捉超,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來(lái)了唯绍?” 一聲冷哼從身側(cè)響起拼岳,我...
    開(kāi)封第一講書人閱讀 38,910評(píng)論 0 274
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎况芒,沒(méi)想到半個(gè)月后惜纸,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,324評(píng)論 1 310
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,542評(píng)論 2 332
  • 正文 我和宋清朗相戀三年耐版,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了祠够。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 39,711評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡粪牲,死狀恐怖古瓤,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情腺阳,我是刑警寧澤落君,帶...
    沈念sama閱讀 35,424評(píng)論 5 343
  • 正文 年R本政府宣布,位于F島的核電站亭引,受9級(jí)特大地震影響绎速,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜焙蚓,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,017評(píng)論 3 326
  • 文/蒙蒙 一纹冤、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧主届,春花似錦赵哲、人聲如沸。這莊子的主人今日做“春日...
    開(kāi)封第一講書人閱讀 31,668評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)。三九已至绘闷,卻和暖如春橡庞,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背印蔗。 一陣腳步聲響...
    開(kāi)封第一講書人閱讀 32,823評(píng)論 1 269
  • 我被黑心中介騙來(lái)泰國(guó)打工扒最, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人华嘹。 一個(gè)月前我還...
    沈念sama閱讀 47,722評(píng)論 2 368
  • 正文 我出身青樓吧趣,卻偏偏與公主長(zhǎng)得像,于是被迫代替她去往敵國(guó)和親耙厚。 傳聞我的和親對(duì)象是個(gè)殘疾皇子强挫,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,611評(píng)論 2 353

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

  • 簡(jiǎn)介 Git是一個(gè)開(kāi)源的分布式版本控制系統(tǒng),用于敏捷高效地處理任何或小或大的項(xiàng)目薛躬。 Git 與常用的版本控制工具 ...
    閩越布衣閱讀 2,739評(píng)論 0 18
  • 版本控制 git本質(zhì)是一個(gè)分布式版本控制系統(tǒng)俯渤,客戶端可以完成clone整個(gè)倉(cāng)庫(kù),然后進(jìn)行提交和修改型宝。 一八匠、了解gi...
    紫瑟楓閱讀 355評(píng)論 0 0
  • 前言 Git是什么 官方話:Git是一個(gè)免費(fèi)的開(kāi)源分布式版本控制系統(tǒng)絮爷,旨在快速高效地處理從小型到大型項(xiàng)目的所有事務(wù)...
    梅先森森森森森森閱讀 2,018評(píng)論 1 3
  • Git常用語(yǔ)法 [TOC] Git簡(jiǎn)介 描述 ? Git(讀音為/g?t/。)是一個(gè)開(kāi)源的分布式版本控制系統(tǒng)梨树,...
    君惜丶閱讀 3,511評(píng)論 0 13
  • 1.git的安裝 1.1 在Windows上安裝Git msysgit是Windows版的Git坑夯,從https:/...
    愛(ài)的魔力賺圈圈閱讀 35,882評(píng)論 0 1