如何在Linux下使用Git
如何在Linux下使用Git
Git是一款開源分布式版本控制系統(tǒng),能夠幫助Linux管理內(nèi)核開發(fā),那么Linux要如何使用Git呢?下面小編就給大家介紹下Linux使用Git的方法,感興趣的朋友不妨來了解下。
*初始化git倉庫,使用git init命令
*添加文件到git倉庫分兩步:
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 精簡顯示
使用git reset --hard commit_id 回退到版本號為commit_id的版本
*回退版本之后如果想再看改回來,可以使用git reflog 查看歷史命令,找出想改回的版本號,再使用git reset hard commit_id 返回即可。
*注意:git跟蹤并管理的是修改,而不是文件,如果一個(gè)文件修改并add之后,再次修改,如果不再次add就提交的話,只會提交第一次的修改。
*撤銷修改:
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)提交到版本庫,則按照版本回退的方式進(jìn)行修改即可;
4、如果已經(jīng)push到遠(yuǎn)程倉庫,就麻煩了
*刪除使用以下命令:
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 會列出所有分支,當(dāng)前指向的分支之前多了個(gè)*
3、切換分支就是git checkout branchname
4、合并分支:git merge branchname 合并branchname到當(dāng)前分支
5、刪除分支:git branch -d branchname 刪除branchname分支
注意:創(chuàng)建、合并、刪除分支都非???,git鼓勵(lì)使用分支完成某個(gè)任務(wù),合并后刪除分支,和直接在master分支上進(jìn)行工作是一樣的效果,但是過程更加安全; 這些之所以快是因?yàn)樵谶@些過程中我們只是修改了指向分支的指針,如創(chuàng)建一個(gè)branch就是創(chuàng)建了一個(gè)指向分支的指針,然后修改HEAD指向該指針;即HEAD指向分支,分支就是提交。
*沖突解決:git無法自動合并分支時(shí),就必須首先解決沖突;解決沖突之后,再提交,即完成了合并
使用git log --graph 可以查看分支合并圖。
*保存工作現(xiàn)場 git stash 保存之后就可以進(jìn)行其他工作 而不影響上次的修改
恢復(fù)工作現(xiàn)場:1、git stash apply 恢復(fù)時(shí)并不刪除stash中內(nèi)容
2、git stash pop 恢復(fù)時(shí)會刪除stash中的內(nèi)容
*遠(yuǎn)程庫信息產(chǎn)看使用git remote (-v)加上-v顯示信息更加詳細(xì)
*分支推送到遠(yuǎn)程庫:即將所有本地的提交推送到遠(yuǎn)程庫
git push origin(遠(yuǎn)程庫名) 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)程對應(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)程庫:git push origin tag_name
一次推送所有標(biāo)簽到遠(yuǎn)程庫:git push origin --tag
上面就是Linux使用Git的方法介紹了,本文介紹了git init命令的使用,git的刪除,分支的創(chuàng)建及刪除等,希望你對git的使用有了進(jìn)一步的了解。