學(xué)習(xí)啦 > 學(xué)習(xí)電腦 > 操作系統(tǒng) > Linux教程 > 如何在Linux下使用Git

如何在Linux下使用Git

時(shí)間: 孫勝652 分享

如何在Linux下使用Git

  Git是一款開源分布式版本控制系統(tǒng),能夠幫助Linux管理內(nèi)核開發(fā),那么Linux要如何使用Git呢?下面小編就給大家介紹下Linux使用Git的方法,感興趣的朋友不妨來了解下。

  *初始化git倉(cāng)庫(kù),使用git init命令

  *添加文件到git倉(cāng)庫(kù)分兩步:

  1、使用git add filename ;可分多次使用,添加多個(gè)文件到暫存區(qū)

  2、使用git commit -m “說明” ;完成提交到分支

  *查看工作區(qū)狀態(tài),使用git status 命令;如果提示有修改可使用git diff filename 查看修改內(nèi)容

  *HEAD指向當(dāng)前版本,HEAD^表示上一個(gè)版本,HEAD^^上上一個(gè)版本……HEAD~100指向之前第100個(gè)版本。

  *回退版本:使用git log查看提交歷史;使用git log --pretty=oneline 精簡(jiǎn)顯示

  使用git reset --hard commit_id 回退到版本號(hào)為commit_id的版本

  *回退版本之后如果想再看改回來,可以使用git reflog 查看歷史命令,找出想改回的版本號(hào),再使用git reset hard commit_id 返回即可。

  *注意:git跟蹤并管理的是修改,而不是文件,如果一個(gè)文件修改并add之后,再次修改,如果不再次add就提交的話,只會(huì)提交第一次的修改。

  *撤銷修改:

  1、如果文件還在工作區(qū),即沒有add也沒有commit,則使用git checkout -- filename 還原到服務(wù)器版即可;

  2、如果已經(jīng)add到暫存區(qū),首先使用git reset HEAD filename從暫存區(qū)取回工作區(qū),再按照1進(jìn)行操作即可;

  3、如果已經(jīng)提交到版本庫(kù),則按照版本回退的方式進(jìn)行修改即可;

  4、如果已經(jīng)push到遠(yuǎn)程倉(cāng)庫(kù),就麻煩了

  *刪除使用以下命令:

  1、git rm filename 從工作區(qū)刪除

  2、git commit -m ”說明“ 更新分支中文件進(jìn)行刪除

  將在工作區(qū)的文件刪除之后,可以使用git checkout -- filename 從分支中取回,但是只能恢復(fù)文件到最新版本,最后一次提交之后的修改則不能恢復(fù)。

  *分支:

  1、創(chuàng)建分支

  git checkout -b branchname 創(chuàng)建并切換到改分區(qū),相當(dāng)于一下兩個(gè)命令:

  git branch branchname 創(chuàng)建分支

  git checkout branchname 切換到分區(qū)

  2、查看當(dāng)前指向的分支:git branch 會(huì)列出所有分支,當(dāng)前指向的分支之前多了個(gè)*

  3、切換分支就是git checkout branchname

  4、合并分支:git merge branchname 合并branchname到當(dāng)前分支

  5、刪除分支:git branch -d branchname 刪除branchname分支

  注意:創(chuàng)建、合并、刪除分支都非??欤琯it鼓勵(lì)使用分支完成某個(gè)任務(wù),合并后刪除分支,和直接在master分支上進(jìn)行工作是一樣的效果,但是過程更加安全; 這些之所以快是因?yàn)樵谶@些過程中我們只是修改了指向分支的指針,如創(chuàng)建一個(gè)branch就是創(chuàng)建了一個(gè)指向分支的指針,然后修改HEAD指向該指針;即HEAD指向分支,分支就是提交。

  *沖突解決:git無(wú)法自動(dòng)合并分支時(shí),就必須首先解決沖突;解決沖突之后,再提交,即完成了合并

  使用git log --graph 可以查看分支合并圖。

  *保存工作現(xiàn)場(chǎng) git stash 保存之后就可以進(jìn)行其他工作 而不影響上次的修改

  恢復(fù)工作現(xiàn)場(chǎng):1、git stash apply 恢復(fù)時(shí)并不刪除stash中內(nèi)容

  2、git stash pop 恢復(fù)時(shí)會(huì)刪除stash中的內(nèi)容

  *遠(yuǎn)程庫(kù)信息產(chǎn)看使用git remote (-v)加上-v顯示信息更加詳細(xì)

  *分支推送到遠(yuǎn)程庫(kù):即將所有本地的提交推送到遠(yuǎn)程庫(kù)

  git push origin(遠(yuǎn)程庫(kù)名) master (要推送的分支)

  *抓取分支:git pull ; git clone

  *協(xié)作模式:

  1、使用git push origin branchname 推送自己的修改

  2、如果推送失敗,因?yàn)檫h(yuǎn)程分支比本地更新,先使用git pull 合并

  3、如果合并有沖突,解決沖突,在本地提交

  4、再推送

  注意:如果使用git pull 合并時(shí)提示 ”no tracking information“說明本地分支沒有和遠(yuǎn)程分支建立鏈接關(guān)系,使用以下指令建立關(guān)系:git branch --set -upstream branch origin/branchname

  *在本地創(chuàng)建與遠(yuǎn)程對(duì)應(yīng)的分支:git branch -b branchname origin/branchname 本地與遠(yuǎn)程分支的名稱最好一致

  *創(chuàng)建標(biāo)簽

  1、打標(biāo)簽git tag name 默認(rèn)標(biāo)簽打在最新提交的commit上,如果想打在其他版本上,找到commit_id即可

  2、顯示標(biāo)簽:git log -pretty=oneline --abbrev -commit

  git tag tag_name commit_id

  3、查看標(biāo)簽:git tag 顯示所有標(biāo)簽

  4、查看標(biāo)簽信息:git show tag_name

  5、創(chuàng)建帶有說明的標(biāo)簽: git tag -a tag_name -m ”信息“;-a表示標(biāo)簽名,-m指定說明文字

  *操作標(biāo)簽:git tag -d tag_name 刪除標(biāo)簽

  推送標(biāo)簽到遠(yuǎn)程庫(kù):git push origin tag_name

  一次推送所有標(biāo)簽到遠(yuǎn)程庫(kù):git push origin --tag

  上面就是Linux使用Git的方法介紹了,本文介紹了git init命令的使用,git的刪除,分支的創(chuàng)建及刪除等,希望你對(duì)git的使用有了進(jìn)一步的了解。

320830