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

歡迎訪問(wèn) 生活随笔!

生活随笔

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

编程问答

最实用的Git命令总结:新建本地分支、远程分支、关联和取消关联分支、清除本地和远程分支、合并分支、版本还原、tag命令、中文乱码解决方案、如何fork一个分支和修改后发起合并请求

發(fā)布時(shí)間:2023/12/10 编程问答 34 豆豆

?1.常用命令git、tag整理

1、新建分支本地分支 git branch <branch-name>遠(yuǎn)程分支 git push origin <branch-name>:<new-branch-name> 2、刪除分支本地分支 git branch -d <branch-name> 或 git branch -D <branch-name>遠(yuǎn)程分支 git push origin :<branch-name> 如果報(bào)沒(méi)有關(guān)聯(lián)(ref)遠(yuǎn)程分支然后再執(zhí)行命令3清理遠(yuǎn)程分支3、清理遠(yuǎn)程分支,把本地不存在的遠(yuǎn)程分支刪除git remote prune origin4、本地分支與遠(yuǎn)程分支關(guān)聯(lián)與取消關(guān)聯(lián)git branch --set-upstream-to=origin/<branch-name>git branch --unset-upstream <branch-name>5、提交本地分支到指定的遠(yuǎn)程分支(不一定是關(guān)聯(lián)的遠(yuǎn)程分支,不一定有權(quán)限)git push origin <branch-name>6、克隆指定的遠(yuǎn)程分支git clone -b <branch-name> http://xxx/xxx/xxx.git默認(rèn)是克隆遠(yuǎn)程master主分支(HEAD -> origin/master) 7、本地版本回退查看本地分支日志:git reflog本地分支回退到指定的結(jié)點(diǎn):git reset —-hard {n}8、查看和修改git服務(wù)器地址和所有本地及遠(yuǎn)程分支:git config —-list或者 git remote get-url --all origin修改本地git倉(cāng)庫(kù)關(guān)聯(lián)的遠(yuǎn)程倉(cāng)庫(kù)地址:git remote set-url origin https://xxxx.git9、把本地已有的Git倉(cāng)庫(kù)推送到遠(yuǎn)程空的倉(cāng)庫(kù)中的命令git remote add origin https://xxx.gitgit push -u origin master10、快速查看本地分支和遠(yuǎn)程列表:git branch -a11、Git中文文件名自動(dòng)轉(zhuǎn)Unicode問(wèn)題:git config --global core.quotepath false12、tag命令相關(guān)(1)創(chuàng)建本地tag標(biāo)簽:git tag tag名稱 [-m "備注信息"](2)把本地指定tag同步到遠(yuǎn)程分支:git push origin tag tag名稱將本地所有tag同步到遠(yuǎn)程倉(cāng)庫(kù):git push origin --tags(3)把遠(yuǎn)程對(duì)應(yīng)分支上的所有tag同步到本地分支:git pull把遠(yuǎn)程對(duì)應(yīng)分支上的指定tag同步到本地分支: git fetch origin tag 遠(yuǎn)程指定的tag名稱(4)刪除本地指定的tag:git tag -d tag名稱刪除遠(yuǎn)程對(duì)應(yīng)分支上的指定tag: git push origin -d 遠(yuǎn)程指定的tag名稱注意:創(chuàng)建本地tag后,在不修改git工程的情況下通過(guò)git push命令無(wú)法推送本地tag到遠(yuǎn)程;同樣的刪除本地tag后,通過(guò)git push命令也無(wú)法刪除遠(yuǎn)程的tag。

2.如何fork一個(gè)分支和修改后發(fā)起合并請(qǐng)求?

1.首先去原始代碼倉(cāng)庫(kù)(如github、gitlab、公司內(nèi)部的代碼倉(cāng)庫(kù))的web界面上點(diǎn)擊"Fork"或"派生"按鈕,按照提示一步一步"克隆"一個(gè)自己的分支(或稱為獨(dú)立的倉(cāng)庫(kù)),復(fù)制倉(cāng)庫(kù)地址:http://自己的倉(cāng)庫(kù).git;

2.使用git clone命令把自己的代碼倉(cāng)庫(kù)下載到本地

git clone http://自己的代碼倉(cāng)庫(kù).git

3.添加一個(gè)遠(yuǎn)程倉(cāng)庫(kù)的配置,用于發(fā)起合并請(qǐng)求前先同步別人最新的代碼。(后面可以用這個(gè)別名來(lái)表示別人的遠(yuǎn)程分支)

git remote add xxx別名 http://別人的代碼倉(cāng)庫(kù).git

可通過(guò)如下命令查看遠(yuǎn)程配置

git branch -v

??

4.在自己fork出來(lái)的本地倉(cāng)庫(kù)修改代碼后提交到本地

5.然后同步別人最新的代碼到本地

# xxx別名:上一步中代表別人代碼的分支名稱 # 分支:master/develop 表示你想同步別人哪個(gè)分支上的最新代碼 git pull origin xxx別名 分支

6.提交合并后的代碼到自己的遠(yuǎn)程分支(即fork出來(lái)的分支)

git push

7.最后再去第1步中的web界面發(fā)起合并請(qǐng)求(如下示例),等待原始倉(cāng)庫(kù)作者的處理即可。

3.問(wèn)題場(chǎng)景
使用git pull提示refusing to merge unrelated histories
創(chuàng)建了一個(gè)origin,兩個(gè)人分別clone

分別做完全不同的提交

第一個(gè)人git push成功

第二個(gè)人在執(zhí)行g(shù)it pull的時(shí)候,提示

fatal: refusing to merge unrelated histories?
解決方法:

git pull --allow-unrelated-histories

總結(jié)

以上是生活随笔為你收集整理的最实用的Git命令总结:新建本地分支、远程分支、关联和取消关联分支、清除本地和远程分支、合并分支、版本还原、tag命令、中文乱码解决方案、如何fork一个分支和修改后发起合并请求的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

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