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

歡迎訪問 生活随笔!

生活随笔

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

编程问答

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

發(fā)布時(shí)間:2025/3/15 编程问答 26 豆豆
生活随笔 收集整理的這篇文章主要介紹了 git rebase --skip_可冒充git大神的git tips 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

rebase

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

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

導(dǎo)出純代碼和淺克隆

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

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

submodule子倉庫

對,我們git也可以將別的倉庫引用為本倉庫的子倉庫。比如要?jiǎng)?chuàng)建一個(gè)封裝類型的工程時(shí),比如直接用git管理golang的vendor模塊時(shí),等等。

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

git代理

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

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

git代理配置其實(shí)也是在文件里的~/.gitconfig,直接編輯這個(gè)文件也可以,它的內(nèi)容:

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

那怎么搭建代理服務(wù)器呢?好咧,常用的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;}}

管理登錄信息

可以設(shè)置保存用戶名密碼的,命令

git config credential.helper store

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

[credential]helper = store

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

https://username:password@git-server

對,明文的,請斟酌。

分支刪除

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

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

git后悔藥

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

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

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