日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

【Git】Git-常用命令备忘录(三)

發(fā)布時(shí)間:2023/12/4 编程问答 45 豆豆
生活随笔 收集整理的這篇文章主要介紹了 【Git】Git-常用命令备忘录(三) 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

git作為一個(gè)vcs(version control system),是越用越香,那么還有哪些比較香的地方呢!?

1.遠(yuǎn)程倉庫中拉取指定分支

一定遇到這種情況,github看到一個(gè)心儀的開源倉庫,但是分支太多,我們只想要我們需要的分支。

git?clone?-b?<指定分支名>?<遠(yuǎn)程倉庫地址>

2.遞歸克隆

項(xiàng)目里包含的一些庫或者一些模塊是存在了別的倉庫,可以用遞歸來克隆回來。一次性就能解決所有的依賴模塊

git?clone?--recursive?https://github.com/dotnet/aspnetcore.git

3.切換到指定分支

分支眾多,要切換到指定分支

#branch分支管理 git?branch git?switch?分支名

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

git?tag?v1.0 #默認(rèn)標(biāo)簽是打在最新提交的commit上

5.為指定的commit id創(chuàng)建標(biāo)簽

上面標(biāo)簽,是為最新的一次提交創(chuàng)建的。但是我們想吃后悔藥——為之前的提交創(chuàng)建標(biāo)簽,該怎么做呢!?

$?git?log?--pretty=oneline?--abbrev-commit $?git?tag?標(biāo)簽值?commitId#查看標(biāo)簽信息 $?git?show?標(biāo)簽值

6.刪除標(biāo)簽

$?git?tag?-d?v0.1#刪除遠(yuǎn)程標(biāo)簽 $?git?tag?-d?v0.9 $?git?push?origin?:refs/tags/v0.9

7.推送標(biāo)簽至遠(yuǎn)程倉庫

#推送指定標(biāo)簽至遠(yuǎn)程 $?git?push?origin?v0.1#推送全部標(biāo)簽至遠(yuǎn)程 $?git?push?origin?--tags

8.切換至標(biāo)簽

#tag標(biāo)簽管理 git?tag #切換 git?checkout?tag值

9.本地沒有遠(yuǎn)程標(biāo)簽

#查看本地標(biāo)簽 git?tag?-l#查看遠(yuǎn)程標(biāo)簽 git?ls-remote?-t#刪除本地標(biāo)簽 git?tag?-d?待刪除的標(biāo)簽值#拉取遠(yuǎn)程的標(biāo)簽 git?fetch?origin?--prune-tags#再次查看本地標(biāo)簽 git?tag

10.gitignore文件重新生效

從gitee 創(chuàng)建倉庫,可選擇創(chuàng)建不同項(xiàng)目下.gitignore文件模板。但是我們修改.gitignore文件,并不生效。.gitignore只能忽略那些原來沒有被track的文件,如果某些文件已經(jīng)被納入了版本管理中,則修改.gitignore是無效的,把要忽略的文件改為未track狀態(tài)

git?rm?-r?--cached?.??#清除緩存???取消跟蹤所有文件,但不刪除本地文件 git?add?.?#重新trace?file?? git?commit?-m?"update?.gitignore"?#提交和注釋?? git?push?origin?master?#可選,如果需要同步到remote上的話??

11.本地關(guān)聯(lián)遠(yuǎn)程

一般情況,常規(guī)操作是先在github或者gitee創(chuàng)建遠(yuǎn)程倉庫,然后

git?clone? git?add?-A git?commit?-m?"" git?push?-u?origin?master

但是還有一種情況,先通過git init創(chuàng)建的本地倉庫,突然發(fā)現(xiàn)今天寫的代碼太優(yōu)美了,要整個(gè)遠(yuǎn)程倉庫存起來。

#初始化-建立本地倉庫 git?init#把本地倉庫與遠(yuǎn)程倉庫關(guān)聯(lián) git?remote?add?origin?git@gitee.com:RandyField/xxxxx.git#push git?push?-u?origin?master#但是可能會(huì)出現(xiàn)如下錯(cuò)誤!?[rejected]????????master?->?master?(non-fast-forward) error:?failed?to?push?some?refs?to?'git@gitee.com:RandyField/xxxxx.git' hint:?Updates?were?rejected?because?the?tip?of?your?current?branch?is?behind hint:?its?remote?counterpart.?Integrate?the?remote?changes?(e.g. hint:?'git?pull?...')?before?pushing?again. hint:?See?the?'Note?about?fast-forwards'?in?'git?push?--help'?for?details.#原因是創(chuàng)建遠(yuǎn)程倉庫,和本地倉庫沒有關(guān)聯(lián),也具有差異#把遠(yuǎn)程倉庫和本地同步,消除差異,把兩段不相干的分支進(jìn)行強(qiáng)行合并 git?pull?origin?master?--allow-unrelated-histories?git?add?-A git?commit?-m?"[dev]init" git?push?-u?origin?master

12.變基->快進(jìn)合并

將提交到某一分支上的所有修改都移至另一分支上,就好像“重新播放”一樣(將一個(gè)分支的修改操作在另一個(gè)分支最新的提交基礎(chǔ)上在依次應(yīng)用)。

#小明童鞋,克隆 git?clone?xxx.git#小明童鞋,創(chuàng)建了dev分支 git?switch?-c?devgit?add?. git?commit?-m?"c"git?add?xxx.go git?commit?-m?"update?xxx.go"git?add?App.vue git?commit?-m?"update?App.vue"#大明童鞋,克隆 git?clone?xxx.git git?add?main.js git?push?-u?origin?master#小明童鞋 git?switch?master git?pull git?switch?dev git?rebase?master #有沖突,需要手動(dòng)合并文件解決,解決沖突后使用git?add表示沖突已經(jīng)解決 git?add?. #表示繼續(xù)下一個(gè)沖突 git?rebase?--continue #切換至master git?switch?master #快進(jìn)合并 git?merge?dev#?其他命令 git?rebase?--skip?#表示跳過當(dāng)前沖突, git?rebase?--abort?#表示退出rebase模式,回到運(yùn)行g(shù)it?rebase?master命令之前的狀態(tài)

rebase干了什么?

  • 找到master和dev最近一個(gè)共同的父commit對(duì)象

  • 并找出這個(gè)共同的父commit對(duì)象到dev分支最新提交對(duì)象之間的所有對(duì)象,將這些對(duì)象依次添加至master分支最新一次提交后。這個(gè)過程很像將一個(gè)數(shù)組追加到另一個(gè)數(shù)組,沒錯(cuò)append操作。

  • 這時(shí)我們git rebase master會(huì)提示有沖突(因?yàn)槲覀冊(cè)趍aster和dev可能修改了相同的文件),對(duì)沖突文件進(jìn)行手工合共,然后git add .標(biāo)記沖突解決,git rebase --continue告訴Git沖突已經(jīng)解決。

  • 在dev分支上變基(git rebase master)。這時(shí)我們回到msater分支執(zhí)行 git merge dev就可以進(jìn)行"快進(jìn)(fast-forward)"模式合并。

參考鏈接

https://git-scm.com/book/zh/v2/Git-%E5%88%86%E6%94%AF-%E5%8F%98%E5%9F%BA

https://www.jianshu.com/p/6960811ac89c

https://blog.csdn.net/fly_zxy/article/details/82586861

長按二維碼關(guān)注 創(chuàng)作挑戰(zhàn)賽新人創(chuàng)作獎(jiǎng)勵(lì)來咯,堅(jiān)持創(chuàng)作打卡瓜分現(xiàn)金大獎(jiǎng)

總結(jié)

以上是生活随笔為你收集整理的【Git】Git-常用命令备忘录(三)的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。