日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 >

git rebase --skip_可冒充git大神的git tips

發布時間:2025/3/15 41 豆豆
生活随笔 收集整理的這篇文章主要介紹了 git rebase --skip_可冒充git大神的git tips 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

rebase

算冒充大神的必備技能了,移花接木之術,可以任意整理分支樹。嫌棄分支樹枝枝蔓蔓,一定要學會此招。

git rebase <branch or commit> # 將修改以指定的分支或修改重新應用一下 git rebase -i <branch or commit> # 同上,交互式,可在交互界面里對需要的commits進行修改、壓縮、丟棄以及調整順序等 git pull <remote> <branch> --rebase # 拉取遠程代碼時使用rebase替代merge操作,本地若有遠程沒有的修改,則被本地修改rebase到遠程代碼上。

導出純代碼和淺克隆

很多場景,我們不需要完整的代碼倉庫,不需要commit歷史,我就要最新的或某分支某tag的純代碼而已。

## archive命令就是將純代碼打包(默認tar,可以另指定zip等) git archive master | tar -x -C /somewhere/else # 等于將代碼導出到另一個地方 git archive master | bzip2 >source-tree.tar.bz2 # 代碼打包后再壓縮下 git archive --format=zip --output /full/path/to/zipfile.zip master # 以zip壓縮包導出## 克隆tag/branch時使用淺克隆 git clone --branch tag-v0.1 --depth 1 git@git.home.nas:gitrepo/hellogit.git # --depth 1 只取回一次提交記錄,同時也生效--single-branch# 將淺克隆的shallow repo轉換為完整repo倉庫 git fetch --unshallow origin master

submodule子倉庫

對,我們git也可以將別的倉庫引用為本倉庫的子倉庫。比如要創建一個封裝類型的工程時,比如直接用git管理golang的vendor模塊時,等等。

# 全新克隆時直接將子倉庫也全部克隆來 git clone --recurse-submodules https://github.com/wadefelix/YourProjectName# 若已有項目代碼倉庫,但其中尚未將子倉取下來時,用下面的 git submodule init git submodule update

git代理

代碼需要穿墻打洞才能取下來或者加速時。

# 設置全局使用git代理,也可以是其它端口啊(不僅限定用443) git config --global https.proxy https://git-proxy-server:443

git代理配置其實也是在文件里的~/.gitconfig,直接編輯這個文件也可以,它的內容:

[https]proxy = https://git-proxy-server:443

那怎么搭建代理服務器呢?好咧,常用的nginx就可以,配置文件

server {listen 80;listen 443;resolver 192.168.0.1;proxy_connect;location /{proxy_pass https://$http_host$request_uri;proxy_set_header Host $host;}}

管理登錄信息

可以設置保存用戶名密碼的,命令

git config credential.helper store

設置完畢后,~/.gitconfig配置文件會有:

[credential]helper = store

保存用戶名和密碼后~/.git-credentials文件內容:

https://username:password@git-server

對,明文的,請斟酌。

分支刪除

分支用多了,這個算是小兒科了,簡列幾條:

git fetch -p # 跟隨遠程刪除分支的操作刪除本地分支 git fetch -P # 跟隨遠程刪除分支的操作刪除本地tag # 用branch和push分別刪除本地分支和遠程分支的操作你肯定會,對不對? git branch --delete <branch> git push origin --delete <branch>

git后悔藥

  • 工作區的代碼想撤銷: git checkout -- <file>
  • add到暫存區的代碼想撤銷: git reset HEAD 或 git unstage
  • 提交到本地倉庫的代碼想撤銷: git reset --hard <版本號>
  • 把剛剛的提交撤回到暫存區: git reset --soft HEAD~1
  • revert某此修改(會新增一條commit執行反向修改而已): git revert $id
  • 回滾后反悔怎么辦?: git reflog 記錄了我們的每一次命令( commit、merge 等信息), 根據這命令來查出我們的歷史 commit id,然后 git reset即可
  • 另外,git rebase -i也可以撤銷之前的提交。 edit修改,drop丟棄,squash合并壓縮
  • 總結

    以上是生活随笔為你收集整理的git rebase --skip_可冒充git大神的git tips的全部內容,希望文章能夠幫你解決所遇到的問題。

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