git常用命令

參考:廖雪峰的git教程

  • git init
    把這個(gè)目錄變成Git可以管理的倉(cāng)庫(kù)

  • git add
    把文件添加到倉(cāng)庫(kù)(實(shí)際上就是把文件修改添加到暫存區(qū))
    git add readme.txt 添加單個(gè)文件
    git add ./ 添加全部緩存文件

  • git commit -m "XXXXX"
    把文件提交到倉(cāng)庫(kù)存谎,"XXXX"是本次提交的說(shuō)明(際上就是把暫存區(qū)的所有內(nèi)容提交到當(dāng)前分支)

  • git status
    查看倉(cāng)庫(kù)當(dāng)前的狀態(tài)

    git status

  • git diff <file>
    查看readme.txt文件具體修改了什么內(nèi)容

    git diff readme.txt

  • git log
    顯示從最近到最遠(yuǎn)的提交日志
    git log --pretty=oneline 減少輸出信息
    git log --graph 可以看到分支合并圖

  • git reset
    版本回退或把暫存區(qū)的修改回退到工作區(qū)
    在Git中浮入,用HEAD表示當(dāng)前版本,也就是最新的提交孵运,上一個(gè)版本就是HEAD^,上上一個(gè)版本就是HEAD^^惠呼,往上100個(gè)版本寫成HEAD~100导俘。
    回退到上一個(gè)版本 git reset --hard HEAD^
    想要回退到某個(gè)版本號(hào) git reset --hard 1094a(1094a為你想要回退的那個(gè)版本的commit id,版本號(hào)沒(méi)必要寫全剔蹋,前幾位就可以了旅薄,Git會(huì)自動(dòng)去找)
    git reset HEAD <file> 可以把暫存區(qū)的修改撤銷掉,重新放回工作區(qū)泣崩。

  • git reflog
    記錄每一次命令

    回退版本

  • git checkout -- <file>
    丟棄工作區(qū)的修改

    git checkout -- readme.txt

    撤銷修改

  • git rm <file>
    刪除一個(gè)文件
    先手動(dòng)刪除文件或者用rm命令刪少梁,然后使用git rm <file>和git add<file>(效果是一樣的),并且git commit矫付。
    另一種情況是刪錯(cuò)了猎莲,因?yàn)榘姹編?kù)里還有,所以可以通過(guò)$ git checkout -- test.txt技即,把誤刪的文件恢復(fù)到最新版本著洼。
    PS:從來(lái)沒(méi)有被添加到版本庫(kù)就被刪除的文件,是無(wú)法恢復(fù)的而叼!

  • git remote add origin <address>
    關(guān)聯(lián)一個(gè)遠(yuǎn)程庫(kù)

  • git push
    推送
    git push origin master 推送master分支的所有內(nèi)容
    git push -u origin master 第一次推送(加上了-u參數(shù)身笤,Git不但會(huì)把本地的master分支內(nèi)容推送的遠(yuǎn)程新的master分支,還會(huì)把本地的master分支和遠(yuǎn)程的master分支關(guān)聯(lián)起來(lái))

  • git remote -v
    查看遠(yuǎn)程庫(kù)信息
    git remote -v 顯示更詳細(xì)的信息

  • git remote rm <name>
    刪除遠(yuǎn)程庫(kù)(根據(jù)名字刪除)
    比如:git remote rm origin

  • git clone <address>
    克隆一個(gè)本地庫(kù)


分支模塊
  • git branch
    查看分支(當(dāng)前分支前面會(huì)標(biāo)一個(gè)*號(hào))
  • git branch <name>
    創(chuàng)建分支
  • git checkout <name> 或者 git switch <name>
    切換分支
  • git checkout -b <name> 或者 git switch -c <name>
    創(chuàng)建+切換分支
    git checkout -b dev origin/dev 創(chuàng)建遠(yuǎn)程origin的dev分支到本地
  • git merge <name>
    合并某分支到當(dāng)前分支
    git merge --no-ff -m "XXXX" <name> 合并分支時(shí)葵陵,加上--no-ff參數(shù)就可以用普通模式合并液荸,合并后的歷史能看到分支(因?yàn)楸敬魏喜⒁獎(jiǎng)?chuàng)建一個(gè)新的commit,所以加上-m參數(shù)脱篙,把commit描述寫進(jìn)去)
  • git branch -d <name>
    刪除分支
    git branch -D <name> 丟棄一個(gè)沒(méi)有被合并過(guò)的分支娇钱,強(qiáng)行刪除
  • git stash
    把當(dāng)前工作現(xiàn)場(chǎng)“儲(chǔ)藏”起來(lái)(當(dāng)手頭工作還沒(méi)有完成時(shí))
    git stash list 查看
    恢復(fù)方法:1. git stash apply恢復(fù),但是恢復(fù)后绊困,stash內(nèi)容并不刪除文搂,需要用git stash drop來(lái)刪除
    2. git stash pop,恢復(fù)的同時(shí)把stash內(nèi)容也刪了
    git stash apply stash@{0} 恢復(fù)指定的stash
  • git cherry-pick <commit>
    把bug提交的修改“復(fù)制”到當(dāng)前分支(即在master分支上修復(fù)的bug秤朗,想要合并到當(dāng)前dev分支)
    bug對(duì)應(yīng)的commit
  • git pull
    從遠(yuǎn)程抓取分支
    如果git pull提示no tracking information煤蹭,則說(shuō)明本地分支和遠(yuǎn)程分支的鏈接關(guān)系沒(méi)有創(chuàng)建,用命令git branch --set-upstream-to <branch-name> origin/<branch-name>
標(biāo)簽?zāi)K

tag就是一個(gè)讓人容易記住的有意義的名字取视,它跟某個(gè)commit綁在一起硝皂。

  • git tag
    查看所有標(biāo)簽
  • git tag <name>
    打一個(gè)新標(biāo)簽
    git tag <name> <commit> 給歷史提交打上標(biāo)簽
    PS:標(biāo)簽不是按時(shí)間順序列出,而是按字母排序的
    git tag -a <name> -m "XXXX" <commit> 創(chuàng)建帶有說(shuō)明的標(biāo)簽作谭,用-a指定標(biāo)簽名稽物,-m指定說(shuō)明文字
    PS:標(biāo)簽總是和某個(gè)commit掛鉤。如果這個(gè)commit既出現(xiàn)在master分支折欠,又出現(xiàn)在dev分支贝或,那么在這兩個(gè)分支上都可以看到這個(gè)標(biāo)簽
  • git show <tagname>
    查看標(biāo)簽信息
  • git tag -d <tagname>
    刪除本地標(biāo)簽
    git push origin :refs/tags/<tagname> 從遠(yuǎn)程刪除標(biāo)簽
  • git push origin <tagname>
    推送某個(gè)標(biāo)簽到遠(yuǎn)程
    git push origin --tags 一次性推送全部尚未推送到遠(yuǎn)程的本地標(biāo)簽
其他配置
  • git config --global color.ui true
    讓Git顯示顏色
  • git add -f <file>
    強(qiáng)制將忽略文件添加到Git
  • git check-ignore -v <file>
    檢查.gitignore的配置
  • git config --global alias.st status
    配置別名(git status -> git st)
    -global參數(shù)是全局參數(shù)吼过,也就是這些命令在這臺(tái)電腦的所有Git倉(cāng)庫(kù)下都有用。
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末傀缩,一起剝皮案震驚了整個(gè)濱河市那先,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌赡艰,老刑警劉巖售淡,帶你破解...
    沈念sama閱讀 212,816評(píng)論 6 492
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異慷垮,居然都是意外死亡揖闸,警方通過(guò)查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,729評(píng)論 3 385
  • 文/潘曉璐 我一進(jìn)店門料身,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)汤纸,“玉大人,你說(shuō)我怎么就攤上這事芹血≈ⅲ” “怎么了?”我有些...
    開封第一講書人閱讀 158,300評(píng)論 0 348
  • 文/不壞的土叔 我叫張陵幔烛,是天一觀的道長(zhǎng)啃擦。 經(jīng)常有香客問(wèn)我,道長(zhǎng)饿悬,這世上最難降的妖魔是什么令蛉? 我笑而不...
    開封第一講書人閱讀 56,780評(píng)論 1 285
  • 正文 為了忘掉前任,我火速辦了婚禮狡恬,結(jié)果婚禮上珠叔,老公的妹妹穿的比我還像新娘。我一直安慰自己弟劲,他們只是感情好祷安,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,890評(píng)論 6 385
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著函卒,像睡著了一般辆憔。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上报嵌,一...
    開封第一講書人閱讀 50,084評(píng)論 1 291
  • 那天,我揣著相機(jī)與錄音熊榛,去河邊找鬼锚国。 笑死,一個(gè)胖子當(dāng)著我的面吹牛玄坦,可吹牛的內(nèi)容都是我干的血筑。 我是一名探鬼主播绘沉,決...
    沈念sama閱讀 39,151評(píng)論 3 410
  • 文/蒼蘭香墨 我猛地睜開眼,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼豺总!你這毒婦竟也來(lái)了车伞?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 37,912評(píng)論 0 268
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤喻喳,失蹤者是張志新(化名)和其女友劉穎另玖,沒(méi)想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體表伦,經(jīng)...
    沈念sama閱讀 44,355評(píng)論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡谦去,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,666評(píng)論 2 327
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了蹦哼。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片鳄哭。...
    茶點(diǎn)故事閱讀 38,809評(píng)論 1 341
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖纲熏,靈堂內(nèi)的尸體忽然破棺而出妆丘,到底是詐尸還是另有隱情,我是刑警寧澤局劲,帶...
    沈念sama閱讀 34,504評(píng)論 4 334
  • 正文 年R本政府宣布勺拣,位于F島的核電站,受9級(jí)特大地震影響容握,放射性物質(zhì)發(fā)生泄漏宣脉。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 40,150評(píng)論 3 317
  • 文/蒙蒙 一剔氏、第九天 我趴在偏房一處隱蔽的房頂上張望塑猖。 院中可真熱鬧,春花似錦谈跛、人聲如沸羊苟。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,882評(píng)論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)蜡励。三九已至,卻和暖如春阻桅,著一層夾襖步出監(jiān)牢的瞬間凉倚,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 32,121評(píng)論 1 267
  • 我被黑心中介騙來(lái)泰國(guó)打工嫂沉, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留稽寒,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 46,628評(píng)論 2 362
  • 正文 我出身青樓趟章,卻偏偏與公主長(zhǎng)得像杏糙,于是被迫代替她去往敵國(guó)和親慎王。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,724評(píng)論 2 351

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

  • 基本命令 初始化一個(gè)Git倉(cāng)庫(kù)宏侍,使用git init命令赖淤。 1. 使用命令git add,注意谅河,可反復(fù)多次使用咱旱,添...
    你慧快樂(lè)閱讀 266評(píng)論 0 1
  • Git和其他版本控制系統(tǒng)如SVN的一個(gè)不同之處就是有暫存區(qū)的概念。 工作區(qū)(Working Directory) ...
    Sixah閱讀 269評(píng)論 0 2
  • 配置 git config --global user.name [name] git config --glob...
    jamalping閱讀 380評(píng)論 0 0
  • 配置 首先是配置帳號(hào)信息 ssh -T git@github.com#登陸github 修改項(xiàng)目中的個(gè)人信息 1 ...
    rochuan閱讀 718評(píng)論 1 1
  • git版本庫(kù)操作 初始化一個(gè)Git倉(cāng)庫(kù)旧蛾,使用git init命令莽龟。 添加文件到Git倉(cāng)庫(kù),分兩步: 第一步:使用命...
    nero_i閱讀 221評(píng)論 0 1