git常用(其實並不常用)但是很有用的命令

nanaistaken發表於2017-08-02

1: remove folder from remote but keep it locally

step 1: git rm -r --cached node_modules
step2: git commit -m `[mengqiu] delete folder node_modules from remote`
step3: git push origin master

2: 讓git忽略已經被track的檔案、資料夾

背景:一開始沒有加入git ignore的檔案或者資料夾,已經被add過,之後再重新加入.gitignore,但是還是不會被ignore。這個時候你需要按照以下步驟來達到你的目的。
假如我們想ignore一個檔案, src/views/index.vue

step1: git rm --cached src/views/index.vue
step2: git commit -m `[mengqiu] remove src/views/index.vue out of git track`
step3: git push origin master

step4: add `src/views/index.vue` into your .gitignore file [這一步是手動編輯.gitignore檔案,不是什麼git的命令]
step5: git add .gitignore
step6: git commit -m `[mengqiu] add src/views/index.vue into .gitignore`
step7: git push origin master

資料夾的操作和單個檔案是一樣的,只是在step1的時候採用:

git rm -r --cached node_modules

相比檔案只是多了一個`-r`, `-r`是‘-recursive’的意思,就是遞迴地。

3: 刪除一個遠端倉庫的branch

git push origin --delete test

4: 刪除一個本地的branch

git branch -D test

5: 列出所有遠端的分支

git remote show origin

6: 建立一個分支,這個分支track遠端的一個分支,並且checkout 到這個新建立的分支

git fetch origin
git checkout -b [branch] [remotename]/[branch]

eg:

git checkout -b abc origin/abc