Git常用命令總結(jié)

下面以從github作為遠(yuǎn)程倉(cāng)庫(kù)為例 gitee 只需替換對(duì)應(yīng)倉(cāng)庫(kù)鏈接禁荒,有關(guān)Git的相關(guān)教學(xué)可以參考廖雪峰老師的Git教程泡挺,這里不多介紹了编整。當(dāng)然以下命令行只是方便你在沒(méi)有圖形化工具的情況下知道如何操作Git族沃,個(gè)人覺(jué)得很有必要知道,對(duì)理解Git原理也會(huì)有幫助

  1. 配置git
    Git用戶名
    git config --global user.name "Your Name"
    
    郵箱
    git config --global user.email "email@example.com"
    
    Git顯示顏色
    git config --global color.ui true
    
  2. 初始化
    mkdir project
    cd project
    git init
    
  3. 添加文件并提交代碼(git commit之前需先git add沧踏,commit只負(fù)責(zé)提交暫存區(qū)的內(nèi)容)
    git add README.md(文件名)
    # git add -f README.md(-f為強(qiáng)制添加,可提交.gitignore中配置的文件)
    git commit -m "提交備注"
    
  4. 查看當(dāng)前倉(cāng)庫(kù)狀態(tài)
    git status
    
  5. 對(duì)比文件改動(dòng)內(nèi)容
    git diff README.md(文件名)
    
  6. 查看Git日志
    git log
    
  7. 版本回退到第N個(gè)版本前
    git reset --hard HEAD~N
    
  8. 版本回退(切換)到指定版本(git每次提交的唯一十六進(jìn)制的id巾钉,git log或者git reflog(記錄每次一提交的信息)可以查看)
    git reset --hard e475afc93c209a690c39c13a46716e8fa000c366(版本號(hào)翘狱,這只是個(gè)例子,此值不必寫(xiě)全砰苍,只要能讓git知道是哪個(gè)把那本就行潦匈,一般寫(xiě)5-6位即可)
    
  9. 撤銷(xiāo)修改(撤銷(xiāo)到最近一次git addgit commit之前的狀態(tài))
    git checkout -- README.md(文件名)
    
  10. 撤銷(xiāo)暫存區(qū)的修改(git commit之前)
    git reset HEAD README.md(文件名)
    
  11. 刪除文件(確定刪除需要git commit,若誤刪可以使用git checkout -- 文件名)
    git rm README.md(文件名)
    
  12. 查看遠(yuǎn)程倉(cāng)庫(kù)連接信息(fetch抓取赚导,push推送)
    git remote -v
    
  13. 關(guān)聯(lián)遠(yuǎn)程倉(cāng)庫(kù)
    git remote add origin git@github.com:username/xxxx.git
    
  14. 推送到遠(yuǎn)程庫(kù)(第一次推送master分支)
    git push -u origin master
    
  15. 推送到遠(yuǎn)程庫(kù)
    git push origin 分支名
    
  16. 克隆代碼
    git clone https://github.com/username/xxxx.git
    
    git clone git@github.com:username/xxxx.git
    
  17. 克隆指定分支代碼
    git clone -b 分支名 https://github.com/username/xxxx.git
    
  18. 創(chuàng)建分支
    git branch 分支名
    
  19. 切換分支
    老版本
    git checkout 分支名
    
    新版本
    git switch 分支名
    
  20. 創(chuàng)建分支并切換
    老版本
    git checkout -b 分支名
    
    新版本
    git switch -c 分支名
    
  21. 查看分支
    git branch
    
  22. 查看所有分支(本地+遠(yuǎn)程茬缩,遠(yuǎn)程分支會(huì)以紅色標(biāo)出,當(dāng)前分支前面會(huì)標(biāo)一個(gè)*號(hào))
    git branch -a
    
  23. 合并某分支到當(dāng)前分支辟癌,若存在沖突會(huì)提示手動(dòng)修改后再提交寒屯,git merge默認(rèn)為fast forward模式
    fast forward模式
    git merge 其他分支名
    
    禁用Fast forward模式(--no-ff) 推薦
    git merge --no-ff -m "提交備注" 其他分支名
    
    git log --graph --pretty=oneline --abbrev-commit命令可以看到分支合并圖
  24. 刪除分支
    git branch -d 分支名
    
    強(qiáng)行刪除分支
    git branch -D 分支名
    
  25. 保存工作空間
    git stash
    
  26. 查看保存的工作空間
    git stash list
    
  27. 從保存的工作空間恢復(fù)
    git stash apply 
    
    若存在多個(gè)保存的工作空間(n為序號(hào)0開(kāi)始)
    git stash apply stash@{n} 
    
  28. 刪除保存的工作空間
    git stash drop
    
    若存在多個(gè)保存的工作空間(n為序號(hào)0開(kāi)始)
    git stash drop stash@{n} 
    
  29. 從保存的工作空間恢復(fù)并刪除保存的空間
    git stash pop
    
    若存在多個(gè)保存的工作空間(n為序號(hào)0開(kāi)始)
    git stash pop stash@{n} 
    
  30. 將其他分支上的提交應(yīng)用到當(dāng)前分支
    git cherry-pick commit的編號(hào)
    
  31. 抓取代碼
    git pull
    
  32. 將本地分支與遠(yuǎn)程分支關(guān)聯(lián)
    git branch --set-upstream-to 分支名 origin/分支名
    
  33. 把本地未push的分叉提交歷史整理成直線;
    git rebase
    

    rebase的目的是使得我們?cè)诓榭礆v史提交的變化時(shí)更容易,因?yàn)榉植娴奶峤恍枰綄?duì)比寡夹。

  34. 打標(biāo)簽
    git tag v1.0 commit的id(不加則為之后的commit添加標(biāo)簽)
    
    git tag -a v1.0 -m "提交備注" commit的id(不加則為之后的commit添加標(biāo)簽)
    
  35. 查看所有標(biāo)簽
    git tag
    
  36. 查看標(biāo)簽信息
    git show v1.0
    
  37. 刪除本地標(biāo)簽
    git tag -d v0.1
    
  38. 刪除遠(yuǎn)程標(biāo)簽
    git push origin :refs/tags/v1.0
    
  39. 推送某個(gè)標(biāo)簽到遠(yuǎn)程
    git push origin v1.0
    
  40. 推送全部尚未推送的標(biāo)簽
    git push origin --tags
    
  41. 同一套代碼關(guān)聯(lián)多個(gè)遠(yuǎn)程庫(kù)(同時(shí)關(guān)聯(lián)github和gitee為例)
    關(guān)聯(lián)GitHub的遠(yuǎn)程庫(kù)
    git remote add github git@github.com:username/xxxx.git
    
    關(guān)聯(lián)Gitee的遠(yuǎn)程庫(kù)
    git remote add gitee git@gitee.com:username/xxxx.git
    
    推送Github
    git push github master
    
    推送Gitee
    git push gitee master
    
  42. 查看.gitignore文件中哪條規(guī)則寫(xiě)錯(cuò)了
    git check-ignore -v 文件名
    
  43. 設(shè)置命令別名
    git status => git st
    git config --global alias.st status
    
    git reset HEAD file => git unstage
    git config --global alias.unstage 'reset HEAD'
    
    git log --color --graph --pretty=format:'%Cred%h%Creset -%C(yellow)%d%Creset %s %Cgreen(%cr) %C(bold blue)<%an>%Creset' --abbrev-commit => git lg
    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"
    

暫時(shí)只能整理這么多啦

本文使用OpenWrite進(jìn)行編寫(xiě)

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末处面,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子菩掏,更是在濱河造成了極大的恐慌魂角,老刑警劉巖,帶你破解...
    沈念sama閱讀 211,290評(píng)論 6 491
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件智绸,死亡現(xiàn)場(chǎng)離奇詭異野揪,居然都是意外死亡,警方通過(guò)查閱死者的電腦和手機(jī)瞧栗,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,107評(píng)論 2 385
  • 文/潘曉璐 我一進(jìn)店門(mén)斯稳,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái),“玉大人迹恐,你說(shuō)我怎么就攤上這事挣惰。” “怎么了殴边?”我有些...
    開(kāi)封第一講書(shū)人閱讀 156,872評(píng)論 0 347
  • 文/不壞的土叔 我叫張陵憎茂,是天一觀的道長(zhǎng)。 經(jīng)常有香客問(wèn)我锤岸,道長(zhǎng)竖幔,這世上最難降的妖魔是什么? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 56,415評(píng)論 1 283
  • 正文 為了忘掉前任是偷,我火速辦了婚禮拳氢,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘晓猛。我一直安慰自己饿幅,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,453評(píng)論 6 385
  • 文/花漫 我一把揭開(kāi)白布戒职。 她就那樣靜靜地躺著栗恩,像睡著了一般。 火紅的嫁衣襯著肌膚如雪洪燥。 梳的紋絲不亂的頭發(fā)上磕秤,一...
    開(kāi)封第一講書(shū)人閱讀 49,784評(píng)論 1 290
  • 那天,我揣著相機(jī)與錄音捧韵,去河邊找鬼市咆。 笑死,一個(gè)胖子當(dāng)著我的面吹牛再来,可吹牛的內(nèi)容都是我干的蒙兰。 我是一名探鬼主播磷瘤,決...
    沈念sama閱讀 38,927評(píng)論 3 406
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼搜变!你這毒婦竟也來(lái)了?” 一聲冷哼從身側(cè)響起挠他,我...
    開(kāi)封第一講書(shū)人閱讀 37,691評(píng)論 0 266
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎贸呢,沒(méi)想到半個(gè)月后,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體拢军,經(jīng)...
    沈念sama閱讀 44,137評(píng)論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡楞陷,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,472評(píng)論 2 326
  • 正文 我和宋清朗相戀三年朴沿,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片赌渣。...
    茶點(diǎn)故事閱讀 38,622評(píng)論 1 340
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖昌犹,靈堂內(nèi)的尸體忽然破棺而出坚芜,到底是詐尸還是另有隱情,我是刑警寧澤斜姥,帶...
    沈念sama閱讀 34,289評(píng)論 4 329
  • 正文 年R本政府宣布,位于F島的核電站缚忧,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏闪水。R本人自食惡果不足惜蒙具,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,887評(píng)論 3 312
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望禁筏。 院中可真熱鬧,春花似錦篱昔、人聲如沸。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 30,741評(píng)論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)脆烟。三九已至,卻和暖如春邢羔,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背拜鹤。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 31,977評(píng)論 1 265
  • 我被黑心中介騙來(lái)泰國(guó)打工敏簿, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人惯裕。 一個(gè)月前我還...
    沈念sama閱讀 46,316評(píng)論 2 360
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像蜻势,于是被迫代替她去往敵國(guó)和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子握玛,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,490評(píng)論 2 348

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

  • git常用命令 git config 可選參數(shù)(--system所有用戶挠铲、--global當(dāng)前用戶、默認(rèn)--loc...
    天痕丶閱讀 321評(píng)論 0 0
  • 簡(jiǎn)介 ??git有四個(gè)工作區(qū)域拂苹,分別是:工作目錄(Workspace)、暫存區(qū)(Index/Stage)搞挣、本地倉(cāng)庫(kù)...
    gybguohao閱讀 21,035評(píng)論 4 21
  • 基礎(chǔ)命令 用戶設(shè)置 初始化倉(cāng)庫(kù) 把文件添加到倉(cāng)庫(kù) 把文件提交到倉(cāng)庫(kù) 添加文件到Git倉(cāng)庫(kù) 分兩步: 第一步音羞,使用命...
    前端渣渣閱讀 1,448評(píng)論 0 20
  • 版權(quán)聲明:本文為博主原創(chuàng)文章,未經(jīng)博主允許不得轉(zhuǎn)載嗅绰。 經(jīng)過(guò)這幾天的學(xué)習(xí)Github,現(xiàn)在也對(duì)Github有了更深的...
    LeaderBiao閱讀 346評(píng)論 0 1
  • 一般來(lái)說(shuō),日常使用只要記住下圖6個(gè)命令翠语,就可以了。但是熟練使用肌括,恐怕要記住60~100個(gè)命令。 下面是我整理的常用...
    MiracleJQ閱讀 344評(píng)論 0 0