git flow

新功能開發流程:git

開始 feature 分支
git flow feature start name測試

git flow feature publish namecode

git flow feature pull nameserver

git flow feature finish name開發

發佈到測試
git flow release start 1.0.0it

git flow release publish 1.0.0 編譯

git flow release track 1.0.0ast

git flow release finish 1.0.0版本管理

發生產
git pull origin develop原理

git push origin develop:develop

git checkout  master

git pull origin master

git push origin master --tags 

__________________________________________________________

文件忽略

//文件忽略 .gitignore

.gitignore會被提交到遠程,並對全部用戶有效
.gitignore只能忽略那些原來沒有被track的文件,若是某些文件已經被歸入了版本管理中,則修改.gitignore是無效的。

//文件忽略 assume-unchanged
    git update-index --assume-unchanged PATH    在PATH處輸入要忽略的文件。
    git update-index --no-assume-unchanged PATH 解除忽略

此方法對「已經被歸入了版本」的文件一樣有效

這種方法只對本地有效,即本地修改文件不會被提交 但遠程有更新會pull下來

這裏的PATH貌似只能是文件不能是目錄

當指定PATH爲目錄時:

如:git update-index --assume-unchanged ./

會提示:Ignoring path xxx/xxx/xxx

能夠使用通配符(*),可是若是目錄中含有子目錄則會報錯:

Unable to mark file xxx/xxx/xxx

解決辦法:

利用 git ls-files 命令 和 管道符 | 忽略當前目錄下全部文件:

git ls-files -z | xargs -0 git update-index --assume-unchanged

固然這樣也只是將已有的文件歸入忽略,對新文件沒有效果(須要再次執行該命令或結合下面的方法)

//文件忽略 .git/info/exclude

一樣只對本地當前用戶有效,可設置目錄,設置方法和 .gitignore 相同

和 .gitignore同樣只對未跟蹤的文件有效

    
//更新 .gitignore
git rm -r --cached .
git add .
git commit -m 'update .gitignore'
    更新 .gitignore 能夠解決 「文件已經被歸入了版本」的狀況
    
//提交忽略的文件
git add -f <path>
    

________________________________________________________________________
    
//查看一個文件的修改史
git log --pretty=oneline 文件名
1. git log filename
能夠看到fileName相關的commit記錄
2. git log -p filename
能夠顯示每次提交的diff
3. 只看某次提交中的某個文件變化,能夠直接加上fileName
git show c5e69804bbd9725b5dece57f8cbece4a96b9f80b filename

按q退出

 

________________________________________________________________________
//刪除本地分支
git branch -d branch-name

//刪除遠程分支
git push origin :branch-name
冒號前面的空格不能少,原理是把一個空分支push到server上,至關於刪除該分支。


//放棄全部本地修改 包括已經commit還沒push的  
git reset --hard origin/branch

 

__________________________________________________________________________

git clean 刪除本地 untracked

// 刪除 untracked files git clean -f   // 連 untracked 的目錄也一塊兒刪掉 git clean -fd   // 連 gitignore 的untrack 文件/目錄也一塊兒刪掉 (慎用,通常這個是用來刪掉編譯出來的 .o之類的文件用的) git clean -xfd   // 在用上述 git clean 前,牆裂建議加上 -n 參數來先看看會刪掉哪些文件,防止重要文件被誤刪 git clean -nxfd git clean -nf git clean -nfd

相關文章
相關標籤/搜索