(1)删除檔案/檔案夾
删除檔案夾
git rm XXX -r
删除檔案
git rm XXX
git rm XXX -r
git commit -m "Sad"
git push
(2)修改遠端位址,先删除origin然後再添加
檢視遠端位址
git remote -v
删除origin位址
git remote rm origin
删除another
git remote rm another
(3)添加位址
添加origin
git remote add origin SSH/HTTPS
添加another
git remote add another SSH/HTTPS
(4)使用.gitignore過濾檔案
①放在将.gitignore放在要删除的檔案的同級下
②把檔案添加進.gitignore
③以上不行,可能因為緩存(把本地緩存删除(改變成未track狀态)),使用下面的語句即可。
git rm -r --cached .
git add .
git commit -m 'update .gitignore'
(5)徹底清除history裡的檔案記錄
git filter-branch --force --index-filter 'git rm --cached --ignore-unmatch FILE_PATH' --prune-empty --tag-name-filter cat -- --all
//FILE_PATH:是檔案路徑,不是檔案名。可以在github裡的history找到相應的檔案,把它的路徑複制下來。
git push origin master --force
rm -rf .git/refs/original/
git reflog expire --expire=now --all
git gc --prune=now
git gc --aggressive --prune=now
####參考資料: https://help.github.com/articles/remove-sensitive-data/
(6)撤回
同時對多個檔案執行了 git add
操作,但本次隻想送出其中一部分檔案
git add
git add *
git status
// 取消暫存
git reset HEAD <filename>
(7)分支
- 切換分支
# 檢視分支
git branch -a
# 切換到 dev分支
git checkout dev
# 建立新分支,并切換到新分支下
git checkout -b xxx
(8)暫存
有時候,目前東西沒改完, 但要先改别的東西并送出。
而之前改動的東西不想删除,是以暫存起來。
// 暫存,會儲存目前改動(但并不會儲存剛建立的)
git stash
// 恢複暫存的内容
git stash apply
(9)送出到遠端分支
不想送出在本分支上,想直接送出到遠端的分支上
// 目前分支 : branchA
// 要送出的遠端分支:branchB
git push origin branchA:branchB
(10)遠端代碼強拉本地
git fetch --all
git reset --hard origin/master
git pull
(11)修改分支名
// 1. 修改名稱
git branch -m oldName newName
// 2. 删除遠端分支
git push --delete origin oldName
// 3. 上傳新命名的分支
git push origin newName
// 4. 關聯本地分支與線上分支
git branch --set-upstream-to origin/newName