git rebase --skip_可冒充git大神的git tips
生活随笔
收集整理的這篇文章主要介紹了
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 mastersubmodule子倉庫
對,我們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 updategit代理
代碼需要穿墻打洞才能取下來或者加速時(shí)。
# 設(shè)置全局使用git代理,也可以是其它端口啊(不僅限定用443) git config --global https.proxy https://git-proxy-server:443git代理配置其實(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后悔藥
總結(jié)
以上是生活随笔為你收集整理的git rebase --skip_可冒充git大神的git tips的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: XCTF-Reverse:logmein
- 下一篇: 刘教授的Linux操作系统考试复习题