版本控制之Coding.net Git
一、Git 忽略一些檔案不加入版本控制
在git中如果想忽略掉某個檔案,不讓這個檔案提交到版本庫中,可以使用修改 .gitignore 檔案的方法。這個檔案每一行儲存了一個匹配的規則例如:(注:#此為註釋,將被 Git 忽略)
*.a # 忽略所有 .a 結尾的檔案
!lib.a # 但 lib.a 除外
/TODO # 僅僅忽略專案根目錄下的 TODO 檔案,不包括 subdir/TODO
build/ # 忽略 build/ 目錄下的所有檔案
doc/*.txt # 會忽略 doc/notes.txt 但不包括 doc/server/arch.txt
這樣設定了以後 所有的 .pyc 檔案都不會新增到版本庫中去。另外 git 提供了一個全域性的 .gitignore,你可以在你的使用者目錄下建立 ~/.gitignoreglobal 檔案,以同樣的規則來劃定哪些檔案是不需要版本控制的。
需要執行 git config --global core.excludesfile ~/.gitignoreglobal來使得它生效。
其他的一些過濾條件
由於git不會加入空目錄,所以下面做法會導致tmp不會存在 tmp/* //忽略tmp資料夾所有檔案* ?:代表任意的一個字元 * *:代表任意數目的字元 * {!ab}:必須不是此型別 * {ab,bb,cx}:代表ab,bb,cx中任一型別即可 * [abc]:代表a,b,c中任一字元即可 * [ ^abc]:代表必須不是a,b,c中任一字元
改下方法,在tmp下也加一個.gitignore,內容為
*
!.gitignore
還有一種情況,就是已經commit了,再加入gitignore是無效的,所以需要刪除下快取 git rm -r --cached ignore_file
注意: .gitignore只能忽略那些原來沒有被track的檔案,如果某些檔案已經被納入了版本管理中,則修改.gitignore是無效的。正確的做法是在每個clone下來的倉庫中手動設定不要檢查特定檔案的更改情況。
另外 git 還提供了另一種 exclude 的方式來做同樣的事情,不同的是 .gitignore 這個檔案本身會提交到版本庫中去。用來儲存的是公共的需要排除的檔案。而 .git/info/exclude 這裡設定的則是你自己本地需要排除的檔案。 他不會影響到其他人。也不會提交到版本庫中去。git update-index --assume-unchanged PATH #在PATH處輸入要忽略的檔案。
.gitignore 還有個有意思的小功能, 一個空的 .gitignore 檔案 可以當作是一個 placeholder 。當你需要為專案建立一個空的 log 目錄時, 這就變的很有用。 你可以建立一個 log 目錄 在裡面放置一個空的 .gitignore 檔案。這樣當你 clone 這個 repo 的時候 git 會自動的建立好一個空的 log 目錄了。
二、Git 伺服器提交材料及其常用命令
1、向Git伺服器提交材料
伺服器建立好一個空的版本庫(需管理伺服器的人建立)後,要想伺服器提交原始碼,主要步驟須做如下:
a)遞迴刪除指定目錄下的.git檔案
find . -name .git | xargs rm -fr
b)遞迴刪除指定目錄下的.gitignore檔案 find . -name .gitignore | xargs rm -fr
c)git clonehttp://[email protected]:xxx/git/xxx //克隆版本庫會有如下提示:
正克隆到 'xxx'...
warning: 您似乎克隆了一個空版本庫。
d)git add * //把所有檔案加入版本控制e)git commit //本地提交
//第一次用git push直接push會報錯,應該先用git push origin master ,以後直接用git push就行
f)git push //推到伺服器
會有如下提示:
Password for 'http://[email protected]:xxx':
No refs in common and none specified; doing nothing.
Perhaps you should specify a branch such as 'master'.
Everything up-to-date
g)git push origin master //把本地master分支推送到遠端伺服器origin,.git隱藏目錄下的config檔案可以看得到這些資訊。會有如下提示:
Password for 'http://[email protected]:xxx':
Everything up-to-date
2、Git常用命令以下是一些我自己常用到的git命令:
git clone :從伺服器上克隆程式碼;
git pull :從伺服器上拉取最新程式碼(需在原有版本上,即電腦上存在該系統版本);
git branch -a :檢視系統分支相關資訊;
git checkout ***:切換分支;
git log :檢視該系統版本里修改的相關資訊;
git show ID(git log上顯示的數字資訊):可以檢視該ID的補丁詳細資訊;
......
3、gitignore(對於較大的系統一定需忽略生成的檔案)定義:在版本控制伺服器上忽略某些指定的檔案。
編寫方式:
*~
*.swp
./kernel/
*.swo
*.bak
out/
/version.sh
三、excludegit 還提供了另一種 exclude 的方式來完成同樣的忽略
不同的是 .gitignore 這個檔案本身會push到庫中去。儲存的是公共的需要排除的檔案。
而exclude 是自己本地忽略的設定,不會影響到其他人,也不會提交到庫中去。
exclude 檔案所在位置:.git/info/exclude
可以在專案檔案路徑下,使用下列命令
vim .git/info/exclude
#然後再#號下的一行寫入要忽略的檔案
#如:
#*.o
相關推薦
版本控制之Coding.net Git
一、Git 忽略一些檔案不加入版本控制 在git中如果想忽略掉某個檔案,不讓這個檔案提交到版本庫中,可以使用修改 .gitignore 檔案的方法。這個檔案每一行儲存了一個匹配的規則例如: (注:#此為註釋,將被 Git 忽略)*.a # 忽略所有
Git版本控制之ubuntu搭建Git服務器
open sudoer nload git倉庫 詳細 測試 lan inf 解決 Git是一個開源的分布式版本控制系統,可以有效、高效的處理從很小到非常大的項目版本管理。使得開發者可以通過克隆(git clone),在本地機器上拷貝一個完整的Git倉庫,也可以將代碼提交
版本控制之SVN與GIT
**版本控制是指對軟體開發過程中各種程式程式碼、配置檔案及說明文件等檔案變更的管理,是軟體配置管理的核心思想之一。專案在開發過程中要用到相應的配置管理工具對配置項(包括各個階段的產物)進行變更控制,配置管理的使用取決於專案規模和複雜性及風險的水平。軟體的規模越大
版本控制之svn和git簡述
參考: 在一個團隊的工作中,掌握版本控制系統的使用是對每一個工程師最基本的要求,作為剛入職的菜鳥我來說,更是需要快速掌握的,下面就簡單記錄一下svn以及git版本控制的基礎知識。 1. 版本控制的概念
版本控制之git學習
最近學習了一下版本控制中比較符合開發者氣質的Git,這裡做一個總結。一來梳理所學的內容;二來也作為起點後續繼續豐富。學習的方式主要為網路學習和個人實踐。推薦兩個學習網頁,互相參考必有所成。 部落格園:http://www.cnblogs.com/best/archive/2017/09/07/747
最全Pycharm教程(39)——Pycharm版本控制之本地Git用法
1、主題 介紹如果通過Pycharm使用本地Git集。 2、準備工作 (1)PyCharm版本為2.7或更高 (2)已經建立一個工程 (3)Git外掛可用,對應可執行檔案在 Git page頁面正確配置 3、建立一個Git集
版本控制工具Svn及Git
例如 ech source -s lan https git add 更改 date 首先介紹svn,屬於老牌的工具 svn ci 提交代碼 alias commit svn up 更新代碼 alias update svn st 修改的文件 alias st svn di
一小時精通SVN版本控制 之 準備工作
java svn 代碼管理 版本控制 團隊協作 為什麽使用svn:軟件系統通常由團隊協作完成,各開發人員如何協作並行開發?我們希望團隊成員可以並行開發,彼此的修改不會沖突,保留工作過程中產生的所有內容的所有版本. 什麽是svn:Subversion(SVN) 是一個開源的版本控制系統, 它
Android 版本控制工具SVN與GIT 區別, Git使用詳情
為什麼要用版本控制工具? 多人協作開發 方便程式碼統一管理 常用的版本控制工具有哪些? CVS, SVN, GIT GIT 和 SVN 的區別 Git 是目前世界上最先進的分散式版本控制系統 SVN 是集中式的管理工具 1.版本庫是集中放在中央伺服器的,而幹活的時
版本控制之svn建立版本庫
3.2 配置版本庫 ①為什麼要配置版本庫? Subversion是將檔案資料資訊儲存到版本庫中進行管理的,為了滿足使用者的不同需求,Subversion允許使用者對版本庫目錄進行定製。 ②在一個非
版本控制之svn啟動服務
***啟動伺服器端程式*** ①SVN伺服器必須處於執行狀態才能響應客戶端請求,幫助我們管理專案檔案。所以我們必須將SVN伺服器啟動起來。啟動SVN 伺服器有兩種方法,一個是命令列方式,一個是註冊Windows服務。 ②命令列方式 [1]命令格式 主命
版本控制:SVN和GIT的一些使用感受(續)
背景: 緊接上文,從本地獨立開發者角度出發,繼續對從SVN集中式版本管理轉向GIT分散式版本管理的細節進行介紹。此次以自己具體的開發例項為基礎,給出GIT管理從整體專案SVN伺服器檢出來的本地工作副本的詳細過程。 GIT與SVN的結合: 為了
版本控制之分散式和集中式
Linus一直痛恨的CVS及SVN都是集中式的版本控制系統,而Git是分散式版本控制系統,集中式和分散式版本控制系統有什麼區別呢? 先說集中式版本控制系統,版本庫是集中存放在中央伺服器的,而幹活的時候,用的都是自己的電腦,所以要先從中央伺服器取得最新的版本,然後開始幹活
版本控制之svn命令列下檢出、提交、更新
4 使用命令列模式訪問SVN伺服器 4.1 檢出 ①首先進入自己的工作目錄,例如:D:\DevWorkSpace\SVNSpace ②執行svn checkout命令,命令格式如下 格式 svn checkout svn://SVN伺服器主機地址/
版本控制工具SVN和GIT
一、為什麼會出現原始碼管理工具 為了解決在軟體開發過程中,由原始碼引發的各種不爽、繁瑣的問題, 二、不採用原始碼管理工具會出現什麼問題 1、無法後悔:做錯了一個操作後,沒有後悔藥可以吃 2、版本備份:費空間、費時間 3、版本混亂:因版本備份過多造成混亂,難以找回正確的想要的版本 4、程式碼衝突:多
iOS版本控制工具(SVN,GIT,SourceTree)
公司的實際開發中,在天朝使用較多的還是SVN,因為SVN是集中式的,在天朝上班你們都懂的! -----------------svn----------------- 一:最常用基本步驟--- 下載(完整下載,第一次),將伺服器的專案下載到本地開始開發 sv
SVN (TortioseSVN) 版本控制之忽略路徑(如bin、gen)
在SVN版本控制時,新手經常會遇到這樣的問題: 轉自:http://mpqi.iteye.com/blog/14315851、整個專案一起提交時會把bin 、 gen 、 .project 一同提交至伺服器 2、避擴音交編譯、本地配置等檔案在專案中單獨對src、res進行提
版本控制:SVN和GIT的一些使用感受
背景: 原本在學校跟隨導師做專案的時候,就一直在使用版本管理,主要是用來記錄專案的修改,專案成員之間的溝通和交流。使用的服務端是Visual SVN,客戶端是TortoiseSVN,常用的TortoiseSVN指令也僅限於SVN Update和SVN Co
Git版本控制:Gitlab及Coding.net的使用
Gitlab介紹 GitLab是利用 Ruby on Rails 一個開源的版本管理系統,實現一個自託管的Git專案倉庫,可通過Web介面進行訪問公開的或者私人專案。它擁有與Github類似的功能,能夠瀏覽原始碼,管理缺陷和註釋。可以管理團隊對倉庫的訪問,它非常易於瀏覽提交過
如何選擇版本控制系統之二---Git的研發應用場
nal fix idt max-width 設計理念 ted 過程 style ria 之前寫了一篇《如何選擇版本控制系統 ---為什麽選擇Git版本控制系統》,地址是:http://www.cnblogs.com/goldenfish/p/6876864.html,有興趣