天天看點

【git】之

(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

【git】之

(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 status
// 取消暫存
git reset HEAD <filename>      

(7)分支

  1. 切換分支
# 檢視分支
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