ignore
在git中如果想忽略掉某個文件,不讓這個文件提交到版本庫中,可以使用修改根目錄中 .gitignore 文件的方法(如無,則需自己手工建立此文件)。這個文件每一行保存了一個匹配的規(guī)則。
例如:
此為注釋 – 將被 Git 忽略
.a # 忽略所有 .a 結(jié)尾的文件
!lib.a# 但 lib.a 除外
/TODO # 僅僅忽略項目根目錄下的 TODO 文件,不包括 subdir/TODO
build/# 忽略 build/ 目錄下的所有文件
doc/.txt # 會忽略 doc/notes.txt 但不包括 doc/server/arch.txt
規(guī)則很簡單,不做過多解釋,但是有時候在項目開發(fā)過程中,突然心血來潮想把某些目錄或文件加入忽略規(guī)則,按照上述方法定義后發(fā)現(xiàn)并未生效,原因是.gitignore只能忽略那些原來沒有被track的文件,如果某些文件已經(jīng)被納入了版本管理中,則修改.gitignore是無效的。那么解決方法就是先把本地緩存刪除(改變成未track狀態(tài)),然后再提交:
git rm -r --cached .
git add .
git commit -m 'update .gitignore
git archive --format zip --output "./tk.zip" tk(or commit)
git clean -fd 去除untrack文件
git .gitignore 配置忽略文件
git ignore files
ingnore self
.gitignore
UserInterfaceState.xcuserstate
.DS_Store
xcshareddata/
xcschememanagement.plist
Breakpoints_v2.xcbkptlist
build/
工作區(qū)管理
git checkout -- filename 放棄當(dāng)前工作區(qū)的filename文件,兩種情況:暫存區(qū)有add,則回到暫存區(qū)狀態(tài),否則直接放棄到原來的狀態(tài)
git checkout -- filename 工作區(qū)被刪除的文件同樣可以使用該命令恢復(fù)
git chekout . 放棄當(dāng)前工作區(qū),狀態(tài)同上
版本回退
git reflog查看命令歷史
git log可以查看提交歷史
git reset --hard commit_id 回退到某個版本
git reset --hard HEAD^ 回退到上個版本
分支操作
git push --delete origin/branch 刪除遠(yuǎn)程分支
git branch -b loaclbranch origin/remotebranch 克隆遠(yuǎn)程分支到本地
tag操作
git tag tagname 創(chuàng)建本地tag
git push origin tagname 推送tag到遠(yuǎn)程
git push origin :refs/tags/tagname 刪除遠(yuǎn)程tag
git push origin --tags 一次性推送全部tag到遠(yuǎn)程