git常用命令

**
#設(shè)置全局的配置文件糖荒,放在當(dāng)前用戶主目錄下(Administrator)的.gitconfig文件中杉辙。用戶名和郵箱,別名

$ git config --global user.email "252532242@qq.com"
$ git config --global alias.lg "log --color --graph --pretty=format:'%Cred%h%Creset -%C(yellow)%d%Creset %s %Cgreen(%cr) %C(bold blue)<%an>%Creset' --abbrev-commit"```
`$ git config http.postBuffer 24288000`  // 需要clone的目標(biāo)太大報(bào)錯(cuò)捶朵,配置這個(gè)
\# 設(shè)置當(dāng)前文件配置文件蜘矢,.git/config文件中狂男。別名
`$ git config alias.st status`
***
*<!-- 初始化為GIT倉(cāng)庫(kù) -->*
`$ git init`      ? ? ? ?// 初始化git倉(cāng)庫(kù)
***
*<!-- 將數(shù)據(jù)提交到暫存區(qū) -->*
`$ git add <fileName1> <fileName2>`  ? ? ? ?// 添加文件
`$ git add . ` ? ? ? ?// 添加所以的文件、文件夾
***
*<!-- 將數(shù)據(jù)更新到版本庫(kù) -->*
`$ git commit -m "comment"` ? ? ? ?  // 提交文件
***
*<!-- 查詢提交狀態(tài) -->*
`$ git status` ? ? ? ?  // 查看工作區(qū)的狀態(tài)
***
*<!-- 查詢文件和git倉(cāng)庫(kù)的區(qū)別 -->*
`$ git diff` ? ? ? ?  // 查看修改的內(nèi)容
`$ git diff <file>` ?   // 查看文件和版本庫(kù)中的區(qū)別
***
*<!-- 打印歷史記錄 -->*
`$ git log` ? ? ? ?//查看提交歷史
`$ git log --pretty=oneline`  ? ? ? ?// 更簡(jiǎn)潔的顯示提交歷史
`$ git log --graph `  ? ? ? ?// 可以看到分支合并圖
`$ git log --graph --pretty=oneline --abbrev-commit  ` ? ?// 查看分支合并情況
`$ git reflog`    ? ?? ?// 查看命令歷史(可以顯示提交版本號(hào)commit_id)
***
*<!-- 版本退回品腹,HEAD最新提交的版本 -->*
`$ git reset --hard HEAD^^^` ? ? // 回退3個(gè)版本 等價(jià)于 HEAD~3
`$ git reset --hard commit_id` ? ? // 跳到指定版本岖食,提交的版本號(hào)可以只寫(xiě)前面幾位
***
*<!-- 操作回退 -->*
`$ git diff HEAD -- <file>` ? ? // 查看工作區(qū)和版本庫(kù)里的區(qū)別
`$ git reset HEAD <file>`  ? ? // 撤銷暫存區(qū)的修改,撤銷add操作
`$ git checkout -- <file>`  ? ?// 把工作區(qū)恢復(fù)到版本庫(kù)  (commit后就先恢復(fù)版本)舞吭,
? ?? ?? ?? ?? ?? ?撤銷modified的內(nèi)容
***
*<!-- 刪除操作 -->*
`$ rm <file>`  ? ?? ?  // 刪除文件
\# 刪除文件泡垃,并將版本庫(kù)中的也刪除掉
`$ git rm <file>`? ? // 刪除操作提交的暫存區(qū),提交后從版本庫(kù)刪除
`$ git commit -m "commit info"`
***
*<!-- 標(biāo)簽 -->*
`$ git tag`   ? ?// 查看所有標(biāo)簽
`$ git tag show <tagname>`  ? ?// 查看指定標(biāo)簽說(shuō)明
`$ git tag <tagname>`   ? ?// 默認(rèn)再最新的commit上打一個(gè)標(biāo)簽
`$ git tag <tagname> commit_id`   ? ?// 給commit_id打標(biāo)簽
`$ git tag -d <tagname>`   ? ?// 刪除標(biāo)簽
\# 遠(yuǎn)程標(biāo)簽
`$ git push origin <tagname>`  ? ?// 推送指定標(biāo)簽到遠(yuǎn)程
`$ git push origin --tags`    ? ?//推送所有未推送的標(biāo)簽
\# 刪除推送的遠(yuǎn)程標(biāo)簽
`$ git tag -d <tagname> `   ? ?? ?// 先刪除本地的標(biāo)簽
`$ git push origin --delete tag <tagname>`   ? ?// 刪除遠(yuǎn)程標(biāo)簽
`$ git push origin :refs/tags/<tagname>`  ? ? // 刪除遠(yuǎn)程標(biāo)簽
***
*<!-- 分支 -->*
`$ git branch` ? ?? ? // 查看分支
`$ git branch -a`? ??   //查看分支镣典,和更多信息兔毙。 *當(dāng)前分支,白色本地其他分支兄春,
? ?? ?? ?? ?? 紅色遠(yuǎn)程倉(cāng)庫(kù)分支
`$ git branch <name>` ? ?  // 創(chuàng)建分支
`$ git checkout <name>` ? ?  // 切換分支
`$ git checkout -b <name>` ? ? // 創(chuàng)建+切換分支
`$ git merge <name>  `? ?// 合并某一分支(name)到當(dāng)前分支.如果可能澎剥,Git會(huì)用
? ?? ?? ?? ?? Fast-forward,此時(shí)刪除分支后,會(huì)丟掉分支信息
`$ git merge --no-ff -m "info" `? ? // 強(qiáng)制禁用Fast forward模式赶舆,Git會(huì)在merge時(shí)生成
? ?? ?? ?? ?? ?? ?一個(gè)新的commit,從分支歷史中可以看到分支信息
`$ git branch -d <name>`? ? // 刪除分支
\# 刪除遠(yuǎn)程分支
`$ git push origin --delete <branchname>`? ?   // 直接刪除
`$ git push origin :<branchname>`? ?        // 推送一個(gè)空分支
`$ git remote prune origin`? ?  // 其他人更新遠(yuǎn)程分支狀態(tài)哑姚,不操作時(shí),
? ?? ?? ?? ?? ??用$ git branch -a 還是可以看到被刪除的分支
`$ git fetch -p`? ?    // 刪除沒(méi)有和遠(yuǎn)程分支對(duì)應(yīng)的本地分支
***
*<!-- git stash -->*
`$ git stash`? ? // 備份當(dāng)前的工作區(qū)內(nèi)容到git棧中芜茵,并把工作區(qū)內(nèi)容還原到最新
`$ git stash list`? ? // 顯示git棧中的所以備份叙量,可以利用顯示的 stash@{n} 恢復(fù)
`$ git stash apply`  ? ?? ?// 恢復(fù)最近一次的備份
`$ git stash apply stash@{n}`  ? ?// 恢復(fù)到指定備份
`$ git stash drop [stash@{n}] `? ?// 刪除最近一次保存的內(nèi)容,或指定的
`$ git stash pop [stash@{n}]  `? ?// 恢復(fù)并刪除最近一次保存的內(nèi)容九串,或指定的
`$ git stash clear  `? ?? ?// 清空所以備份記錄
***
*<!-- 2绞佩、遠(yuǎn)程倉(cāng)庫(kù)GitHub -->*
`$ ssh-keygen -t rsa -C "youremail@example.com" `? ?// 創(chuàng)建SSH Key。 用戶主目錄下
? ?? ?沒(méi)有的話猪钮,用該命令生成.登錄GitHub,賬戶設(shè)置中的SSH and GPG keys頁(yè)
? ?? ?面品山,New SSH key,復(fù)制粘貼公鑰并保存烤低。
\# 已有本地庫(kù)肘交,關(guān)聯(lián)遠(yuǎn)程庫(kù)
`$ git remote add origin git@github.com:username/repo-name.git ` ? ?// 關(guān)聯(lián)遠(yuǎn)程倉(cāng)庫(kù)
`$ git push -u origin master  `? ?// 第一次推送master分支內(nèi)容,后面修改推送不用 -u
\# 已有遠(yuǎn)程庫(kù)扑馁,克隆到本地
`$ git clone git@github.com:username(用戶名)/repo-name(倉(cāng)庫(kù)名).git `? ?// git@使用ssh, 也可以通過(guò)https
? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?等其他協(xié)議
$ git remote rm origin  // 刪除已經(jīng)存在的遠(yuǎn)程鏈接(fatal: remote origin already exists.)
***
*<!-- 3涯呻、git進(jìn)階 -->*
`$ git remote -v    `? ?? ? // 顯示遠(yuǎn)程分支的名稱和url
`README.md `? ?? ? // 該文件一般記錄使用幫助信息
`.gitignore  `? ?? ? // 該文件一般登記不用提交的文件名
***
*<!-- 4、沖突解決 -->*
\# 場(chǎng)景:同時(shí)修改同一文件腻要,merge時(shí)出現(xiàn)conflict. 解決:根據(jù)提示的沖突地方修改复罐,然后add,commit。 比如當(dāng)前是master,要merge分支dev雄家。
```$ git merge dev   -->  conflict =>手動(dòng)修改文件沖突部分
$ git add .
$ git commit -m "commit info"    --> 重新提交
$ git branch -d dev
$ git log --graph```
***
*<!-- 5效诅、協(xié)同 -->*
\# 推送分支
`$ git remote`? ?? ? // 查看遠(yuǎn)程倉(cāng)庫(kù)的信息
`$ git remote -v`? ? // 查看遠(yuǎn)程倉(cāng)庫(kù)更詳細(xì)的信息
`$ git push origin <name>`? ?   // 推送分支,name為分支名,如master,dev等填帽,有些分
? ?? ?? ?? ?? ?支如bug蛛淋,log等分支可能不需要推送
\#抓取分支
`$ git clone git@github.com:<name>/repo.git  `? ?//先f(wàn)ork資源,得到master分支篡腌,然后
? ?? ?? ?? ?? ?$ git branch或其他命令查看下褐荷。如果提示沒(méi)有,從新開(kāi)一下
? ?? ?? ?? ?? ?bash或者$ git init試試
`$ git checkout -b dev origin/dev  `? ? // 得到其他分支嘹悼,前提是該分支已經(jīng)被推送到
? ?? ?? ?? ?? ?github上了叛甫。 如果推送了還得不到,可以從新進(jìn)入git bash,
? ?? ?? ?? ?? ?或者$ git fetch
`$ git pull  `? ?? ?// 更新同步杨伙,pull后commit有沖突手動(dòng)修改后commit其监,再push
`$ git branch --set-upstream dev origin/dev `? ? // 如果沒(méi)有指定本地dev與遠(yuǎn)程分支
? ?? ?? ?? ?? ?? ?origin/dev的鏈接,$ git pull會(huì)出錯(cuò)限匣,請(qǐng)執(zhí)行這條語(yǔ)句抖苦。
? ?? ?? ?? ?? ?? ?$ git checkout -b dev origin/dev已經(jīng)指定了鏈接所以用
? ?? ?? ?? ?? ?? ?這語(yǔ)句建立的分支不會(huì)出現(xiàn)這個(gè)情況
`$ git push origin dev  `? ?? ? // push分支到遠(yuǎn)程 ,如果推送失敗米死,先$ git pull
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末锌历,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子峦筒,更是在濱河造成了極大的恐慌究西,老刑警劉巖,帶你破解...
    沈念sama閱讀 206,482評(píng)論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件物喷,死亡現(xiàn)場(chǎng)離奇詭異卤材,居然都是意外死亡,警方通過(guò)查閱死者的電腦和手機(jī)峦失,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,377評(píng)論 2 382
  • 文/潘曉璐 我一進(jìn)店門扇丛,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái),“玉大人宠进,你說(shuō)我怎么就攤上這事晕拆∶牯幔” “怎么了材蹬?”我有些...
    開(kāi)封第一講書(shū)人閱讀 152,762評(píng)論 0 342
  • 文/不壞的土叔 我叫張陵,是天一觀的道長(zhǎng)吝镣。 經(jīng)常有香客問(wèn)我堤器,道長(zhǎng),這世上最難降的妖魔是什么末贾? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 55,273評(píng)論 1 279
  • 正文 為了忘掉前任闸溃,我火速辦了婚禮,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘辉川。我一直安慰自己表蝙,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 64,289評(píng)論 5 373
  • 文/花漫 我一把揭開(kāi)白布乓旗。 她就那樣靜靜地躺著府蛇,像睡著了一般。 火紅的嫁衣襯著肌膚如雪屿愚。 梳的紋絲不亂的頭發(fā)上汇跨,一...
    開(kāi)封第一講書(shū)人閱讀 49,046評(píng)論 1 285
  • 那天,我揣著相機(jī)與錄音妆距,去河邊找鬼穷遂。 笑死,一個(gè)胖子當(dāng)著我的面吹牛娱据,可吹牛的內(nèi)容都是我干的蚪黑。 我是一名探鬼主播,決...
    沈念sama閱讀 38,351評(píng)論 3 400
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼中剩,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼祠锣!你這毒婦竟也來(lái)了?” 一聲冷哼從身側(cè)響起咽安,我...
    開(kāi)封第一講書(shū)人閱讀 36,988評(píng)論 0 259
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤伴网,失蹤者是張志新(化名)和其女友劉穎,沒(méi)想到半個(gè)月后妆棒,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體澡腾,經(jīng)...
    沈念sama閱讀 43,476評(píng)論 1 300
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 35,948評(píng)論 2 324
  • 正文 我和宋清朗相戀三年糕珊,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了动分。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 38,064評(píng)論 1 333
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡红选,死狀恐怖澜公,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情喇肋,我是刑警寧澤坟乾,帶...
    沈念sama閱讀 33,712評(píng)論 4 323
  • 正文 年R本政府宣布,位于F島的核電站蝶防,受9級(jí)特大地震影響甚侣,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜间学,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,261評(píng)論 3 307
  • 文/蒙蒙 一殷费、第九天 我趴在偏房一處隱蔽的房頂上張望印荔。 院中可真熱鬧,春花似錦详羡、人聲如沸仍律。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 30,264評(píng)論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)染苛。三九已至,卻和暖如春主到,著一層夾襖步出監(jiān)牢的瞬間茶行,已是汗流浹背。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 31,486評(píng)論 1 262
  • 我被黑心中介騙來(lái)泰國(guó)打工登钥, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留畔师,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 45,511評(píng)論 2 354
  • 正文 我出身青樓牧牢,卻偏偏與公主長(zhǎng)得像看锉,于是被迫代替她去往敵國(guó)和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子塔鳍,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 42,802評(píng)論 2 345

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

  • 基礎(chǔ)命令 用戶設(shè)置 初始化倉(cāng)庫(kù) 把文件添加到倉(cāng)庫(kù) 把文件提交到倉(cāng)庫(kù) 添加文件到Git倉(cāng)庫(kù) 分兩步: 第一步伯铣,使用命...
    前端渣渣閱讀 1,447評(píng)論 0 20
  • 分布式版本管理工具 git屬于分布式 svn集中式 git安裝 git初始化一個(gè)倉(cāng)庫(kù) 其實(shí)就是創(chuàng)建了一個(gè).git隱...
    SnowDragonYY閱讀 1,499評(píng)論 0 0
  • Git教程筆記 教程鏈接:http://www.liaoxuefeng.com/wiki/001373951630...
    acqiang閱讀 235評(píng)論 0 0
  • 這不是一塊“寶地” 它孕育的人民非常的貧窮 在這里高樓大廈非常罕見(jiàn) 當(dāng)他鄉(xiāng)的人民已達(dá)“小康”之時(shí) 這里的人民才解決...
    三湘漣漪閱讀 388評(píng)論 31 26
  • 曾很多時(shí)候我想哭腔寡,但是我沒(méi)哭出來(lái),我今晚哭了掌唾!在很多個(gè)夜晚我都想過(guò)這一刻放前,這不叫卸磨殺驢,也不是秋后算賬糯彬,只是我人...
    破小4閱讀 213評(píng)論 0 0