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

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

盘点Git的那些冷门玩法

發布時間:2025/3/21 编程问答 43 豆豆
生活随笔 收集整理的這篇文章主要介紹了 盘点Git的那些冷门玩法 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

其實也不是很冷門,只是要實現以下需求時,筆者一時間竟然想不起來,還要借助搜索引擎,于是記錄一下,算是?備忘。希望對大家也有幫助。

強制覆蓋master分支

最近對?Spring Cloud YES[1]?進行了升級,由于改動太多了,導致了大量的沖突,合并比較費勁。于是想用開發分支強制覆蓋master分支,以下是步驟。

解決方案

1?切換到develop分支下,并保證本地已經同步了遠端develop的最新代碼。

git checkout develop git pull

2?把本地的develop分支強制(-f)推送到遠端master。

git?push?origin?develop:master?-f

3?切換到舊分支master。

git checkout master

4?下載遠程倉庫最新內容,不做合并。

git fetch --all

5?把HEAD指向master最新版本。

git reset --hard origin/master

參考文檔

Git強制覆蓋master分支[2]

修改提交人信息

近日用公司電腦提交代碼到個人Git倉庫(是的,阿里不禁GitHub,也不禁止用公司電腦提交私人倉庫哦,只要不涉及公司商業機密即可,是不是更有來阿里的欲望了呢?如需內推,前往:阿里內推?查看詳情),忘記修改提交人信息了……于是導致提交信息都是個人公司郵箱等信息……

感覺這種信息比較敏感,所以想把提交記錄修改掉。

解決方案

以下是操作步驟,記錄一下,防止未來有類似需求時又到處搜索。

1?批量修改本地提交記錄:

git filter-branch -f --env-filter \"GIT_AUTHOR_NAME='要改成的提交人用戶名'; GIT_AUTHOR_EMAIL='要改成的提交人郵箱'; \GIT_COMMITTER_NAME='要修改的提交人用戶名'; GIT_COMMITTER_EMAIL='要修改的提交人郵箱';"

2 push

git push -u -f

搞定!

根本

要想從根本上解決問題,應該養成習慣,在clone完項目后,就立馬為每個倉庫設置提交人信息:

git config user.name "itmuch" git config user.email "eacdy0000@126.com"

參考文檔

?git 修改已提交的某一次的郵箱和用戶信息[3]?git修改提交作者和郵箱[4]

刪除tag

前幾天要發布一個私人小項目,然而手誤,打錯標簽了,想要刪除。由于這種場景比較少,一時間竟然忘記怎么玩了……大寫的尷尬。記錄下:

解決方案

# 本地刪除 git tag -d [tag名稱] # 遠程刪除 git?push?origin?:refs/tags/[tag名稱]

示例:

git tag -d v1.0 git?push?origin?:refs/tags/v0.9

???????參考文檔

操作標簽[5]

git status?亂碼

筆者使用?Iterm2?,當執行?git status?如果文件名帶有中文,會出現亂碼,如下所示:

On branch master Your branch is up to date with 'origin/master'.Changes?not?staged?for?commit:(use "git add <file>..." to update what will be committed)(use "git checkout -- <file>..." to discard changes in working directory)modified:???"\345\276\205\345\217\221\345\270\203/git?status\344\271\261\347\240\201.md"

???????解決方案

git config --global core.quotepath false

此時,再次執行?git status?就會正常顯示啦:

On branch master Your branch is up to date with 'origin/master'.Changes?not?staged?for?commit:(use "git add <file>..." to update what will be committed)(use "git checkout -- <file>..." to discard changes in working directory)modified:???待發布/git?status亂碼.mdno changes added to commit (use "git add" and/or "git commit -a")

參考文檔

當git遇上中文亂碼[6]?,里面還有其他亂碼場景的解決方案。

合并兩個不相關的Git倉庫

17年總結的:合并兩個不相關的Git倉庫

使用GitLab Mirrors同步Git倉庫

使用GitLab Mirrors同步Git倉庫[7]

使用post receive hook同步Git倉庫

使用post receive hook同步Git倉庫[8]

總結

以上是生活随笔為你收集整理的盘点Git的那些冷门玩法的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。