git常用命令

Git常用操作命令收集:

(1)遠(yuǎn)程倉(cāng)庫(kù)相關(guān)命令

檢出倉(cāng)庫(kù):$?git?clone?git://github.com/jquery/jquery.git

查看遠(yuǎn)程倉(cāng)庫(kù):$?git?remote -v

添加遠(yuǎn)程倉(cāng)庫(kù):$?git?remote add [name] [url]

刪除遠(yuǎn)程倉(cāng)庫(kù):$git?remote rm [name]

修改遠(yuǎn)程倉(cāng)庫(kù):$?git?remote set-url --push[name][newUrl]

拉取遠(yuǎn)程倉(cāng)庫(kù):$?git?pull [remoteName] [localBranchName]

推送遠(yuǎn)程倉(cāng)庫(kù):$git push[remoteName] [localBranchName]

(2)分支(branch)操作相關(guān)命令

查看本地分支:$git?branch

查看遠(yuǎn)程分支:$?git?branch -r

創(chuàng)建本地分支:$?git?branch [name] ----注意新分支創(chuàng)建后不會(huì)自動(dòng)切換為當(dāng)前分支

切換分支:$?git?checkout [name]

創(chuàng)建新分支并立即切換到新分支:$?git?checkout -b [name]

刪除分支:$?git?branch -d [name] ---- -d選項(xiàng)只能刪除已經(jīng)參與了合并的分支,對(duì)于未有合并的分支是無(wú)法刪除的。如果想強(qiáng)制刪除一個(gè)分支,可以使用-D選項(xiàng)

合并分支:$?git?merge [name] ----將名稱(chēng)為[name]的分支與當(dāng)前分支合并

創(chuàng)建遠(yuǎn)程分支(本地分支push到遠(yuǎn)程):$?git push?origin [name]

刪除遠(yuǎn)程分支:$git push?origin :heads/[name]

如果想把本地的某個(gè)分支test提交到遠(yuǎn)程倉(cāng)庫(kù),并作為遠(yuǎn)程倉(cāng)庫(kù)的master分支,或者作為另外一個(gè)名叫test的分支,那么可以這么做。

$?git push?origin test:master???????? // 提交本地test分支作為遠(yuǎn)程的master分支//好像只寫(xiě)這一句,遠(yuǎn)程的github就會(huì)自動(dòng)創(chuàng)建一個(gè)test分支

$?git push?origin test:test????????????? // 提交本地test分支作為遠(yuǎn)程的test分支

如果想刪除遠(yuǎn)程的分支呢?類(lèi)似于上面,如果:左邊的分支為空,那么將刪除:右邊的遠(yuǎn)程的分支。

$git push?origin :test????????????? // 剛提交到遠(yuǎn)程的test將被刪除,但是本地還會(huì)保存的,不用擔(dān)心

push方法1:

比如新建了一個(gè)叫dev的分支,而github網(wǎng)站上還沒(méi)有,可以直接:

git push -u origin dev

這樣一個(gè)新分支就創(chuàng)建好了。

push方法2

提交到github的分支有多個(gè),提交時(shí)可以用這樣的格式:

git push -u origin local:remote

比如:git push -u origin master:master

表明將本地的master分支(冒號(hào)前)push到github的master分支(冒號(hào)后)。

如果左邊不寫(xiě)為空,將會(huì)刪除遠(yuǎn)程的右邊分支。


git命令拉取指定分支的代碼到本地

如果本地分支已經(jīng)關(guān)聯(lián)遠(yuǎn)程的主版本,直接pull即可

否則,可用 git pull origin 遠(yuǎn)程主分支名:本地分支名 進(jìn)行拉取

(3)版本(tag)操作相關(guān)命令

查看版本:$git?tag

創(chuàng)建版本:$git?tag [name]

刪除版本:$git?tag -d [name]

查看遠(yuǎn)程版本:$git?tag -r

創(chuàng)建遠(yuǎn)程版本(本地版本push到遠(yuǎn)程):$git push?origin [name]

刪除遠(yuǎn)程版本:$git push?origin :refs/tags/[name]

(4)子模塊(submodule)相關(guān)操作命令

添加子模塊:$?git?submodule add [url] [path]

如:$?git?submodule addgit://github.com/soberh/ui-libs.gitsrc/main/webapp/ui-libs

初始化子模塊:$git?submodule init ----只在首次檢出倉(cāng)庫(kù)時(shí)運(yùn)行一次就行

更新子模塊:$git?submodule update ----每次更新或切換分支后都需要運(yùn)行一下

刪除子模塊:(分4步走哦)

1)$git?rm --cached [path]

2) 編輯“.gitmodules”文件,將子模塊的相關(guān)配置節(jié)點(diǎn)刪除掉

3) 編輯“.git/config”文件,將子模塊的相關(guān)配置節(jié)點(diǎn)刪除掉

4) 手動(dòng)刪除子模塊殘留的目錄

(5)忽略一些文件、文件夾不提交

在倉(cāng)庫(kù)根目錄下創(chuàng)建名稱(chēng)為“.gitignore”的文件,寫(xiě)入不需要的文件夾名或文件,每個(gè)元素占一行即可,如

target

bin*.db

因?yàn)?gitignore只能忽略那些原來(lái)沒(méi)有被track的文件,如果某些文件已經(jīng)納入版本管理中,則修改.gitignore不會(huì)生效。解決辦法就是先把本地緩存刪除(改成未track狀態(tài)),然后再提交”:

git rm -r --cached .

git add .

git commit -m "update .gitignore"

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 分布式版本管理工具 git屬于分布式 svn集中式 git安裝 git初始化一個(gè)倉(cāng)庫(kù) 其實(shí)就是創(chuàng)建了一個(gè).git隱...
    SnowDragonYY閱讀 1,583評(píng)論 0 0
  • 一、 Git 命令初識(shí) 在正式介紹Git命令之前,先介紹一下Git 的基本命令和操作,對(duì)Git命令有一個(gè)總體的認(rèn)識(shí)...
    子瘋zp閱讀 70,382評(píng)論 1 18
  • Git 是一個(gè)很強(qiáng)大的分布式版本控制系統(tǒng)。它不但適用于管理大型開(kāi)源軟件的源代碼,管理私人的文檔和源代碼也有很多優(yōu)勢(shì)...
    聶順閱讀 312評(píng)論 0 0
  • Git是一個(gè)很強(qiáng)大的分布式版本控制系統(tǒng)。它不但適用于管理大型開(kāi)源軟件的源代碼,管理私人的文檔和源代碼也有很多優(yōu)勢(shì)。...
    EphemeralAurora閱讀 183評(píng)論 0 0
  • 2017.11.11,也是來(lái)上海的兩個(gè)月,就這樣走上寫(xiě)日記的路吧! 不記得從什么時(shí)候開(kāi)始,雙十一成了全民節(jié)日特別是...
    眾知閱讀 370評(píng)論 1 1

友情鏈接更多精彩內(nèi)容