Git 几个常用操作
git init? ? ? ? --? ? 初始化倉(cāng)庫(kù),
git clone? ? --? ? 從遠(yuǎn)端克隆倉(cāng)庫(kù)到本地
git status? ?--? ? 查看git倉(cāng)庫(kù)的狀態(tài)
git log? ? ? ? --? ? 查看git倉(cāng)庫(kù)的日志
git add? ? ? ?--? ?將修改提交到本地倉(cāng)庫(kù),git?add?filename就是提交filename這個(gè)文件,git?add .就是提交所以變化的文件
git?diff? ? ? ? --? ? 不帶參數(shù)的話(huà)就是顯示當(dāng)前工作區(qū)的修改變化。
? ? ? ? ? ? ? ? ? ? ? ??git diff [branchA] [branchB]可以用來(lái)比較兩個(gè)分支。
git commit? --?提交被add進(jìn)來(lái)的改動(dòng)
? ? ? ? ? ? ? ? ? ? ? git commit -m “the commit message"
git commit -a 會(huì)先把所有已經(jīng)track的文件的改動(dòng)add進(jìn)來(lái),然后提交(有點(diǎn)像svn的一次提交,不用先暫存). 對(duì)于沒(méi)有track的文件,還是需要git add一下. git commit --amend 增補(bǔ)提交. 會(huì)使用與當(dāng)前提交節(jié)點(diǎn)相同的父節(jié)點(diǎn)進(jìn)行一次新的提交,舊的提交將會(huì)被取消. git?reset? ? --? 可以理解成刪除本地倉(cāng)庫(kù)上的一次提交,相當(dāng)于還原到上次提交的狀態(tài) git?revert? ?--? ?反轉(zhuǎn)撤銷(xiāo)提交.只要把出錯(cuò)的提交(commit)的名字(reference)作為參數(shù)傳給命令就可以了. git revert HEAD: 撤銷(xiāo)最近的一個(gè)提交. git revert會(huì)創(chuàng)建一個(gè)反向的新提交,可以通過(guò)參數(shù)-n來(lái)告訴Git先不要提交.? ? ? ? ? ? ? ? ? ? ? 這個(gè)我要好好理解下,因?yàn)橛玫牟欢?#xff0c;也只是在smartgit上用過(guò)幾次。
git?branch? --? 創(chuàng)建分支
git?checkout --?切換到某個(gè)文件,如果是git checkout?filename的話(huà)就是丟棄filename這個(gè)文件的所有修改。
git?merge? ? ?--?把一個(gè)分支merge到當(dāng)前分支
? ? ? ? ? ? ? ? ? ? ? ? 如果出現(xiàn)沖突,需要手動(dòng)修改,可以用git mergetool.
解決沖突的時(shí)候可以用到git diff,解決完之后用git add添加,即表示沖突已經(jīng)被resolved. git?tag? ? ? ? ?--?打tag,用git?tag?v1.0 git?fetch? ? ? --? git?pull? ? ? ? --? git? push? ? ?-- git rebase? ?-- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Submodule的操作方式,這才是我想寫(xiě)這邊隨筆的真正目的。 我是用github測(cè)試的: 1.現(xiàn)在git?hub上創(chuàng)建兩個(gè)git倉(cāng)庫(kù):例如Test_Submodule_Sub和Test_Submodule兩個(gè)常規(guī)倉(cāng)庫(kù)。 2.將Test_Submodule這個(gè)倉(cāng)庫(kù)clone到本地,然后cd到根目錄下。 3.這一步才是重要的一步:?git submodule add https://github.com/Kent-Hu/Test_Submodule_Sub.git Sub/Test_Submodule_Sub,就是將一個(gè)倉(cāng)庫(kù)以submodule的形式添加到另一個(gè)倉(cāng)庫(kù),這個(gè)時(shí)候就會(huì)將Test_Submodule_Sub.git克隆到Test_Submodule的/sub目錄下。 4.git add .? ? 將新添加的所有文件加到worktree。 5.git?push? ? 將文件添加到遠(yuǎn)端。 使用: git clone https://github.com/Kent-Hu/Test_Submodule.git的話(huà)是沒(méi)法克隆submodule下的源碼的,需要加--recursive選項(xiàng)。 $ git clone --recurse-submodules https://github.com/Kent-Hu/Test_Submodule.git Cloning into 'Test_Submodule'... remote: Counting objects: 8, done. remote: Compressing objects: 100% (7/7), done. remote: Total 8 (delta 0), reused 8 (delta 0), pack-reused 0 Unpacking objects: 100% (8/8), done. Submodule 'Sub/Test_Submodule_Sub' (https://github.com/Kent-Hu/Test_Submodule_Sub.git) registered for path 'Sub/Test_Submodule_Sub' Cloning into 'C:/Users/h144197/Desktop/Test_Submodule/Sub/Test_Submodule_Sub'... remote: Counting objects: 4, done. remote: Compressing objects: 100% (4/4), done. remote: Total 4 (delta 0), reused 4 (delta 0), pack-reused 0 Submodule path 'Sub/Test_Submodule_Sub': checked out 'ceebbcc51a03cb1c17eee8adb5c22cf172eb0615'
?
?
轉(zhuǎn)載于:https://www.cnblogs.com/kent-hu/p/8484720.html
總結(jié)
以上是生活随笔為你收集整理的Git 几个常用操作的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: Ubuntu Server 18.04
- 下一篇: Go的web工作原理