公司用的版本控制工具是vss和tfs,貌似微軟比較推薦的是tfs,其功能確實比較強大,但**也是比較客觀的。公司在這方面管理也比較嚴格,所以在vss上申請了賬號,準備把做好的自動化測試指令碼提交上去,可杯具的事情發生了,乙個星期賬號還沒有搞定,得知db無故down掉了,沒辦法,我們可經不起折騰了。google一番,發現git現在很火,故拿來試用下,現給大家分享一下使用的心得,歡迎拍磚~~
git 是用於 linux 核心開發的版本控制工具。與常用的版本控制工具 cvs, subversion 等不同,它採用了分布式版本庫的方式,不必伺服器端軟體支援,使源**的發布和交流極其方便。在此分別介紹在linux和windows下的git使用:
1、安裝
在主流linux伺服器centos上:
$ wget
$ tar -xjvf git-1.7.3.5.tar.bz2
$ cd git-1.7.3.5
$ make prefix=/usr all ;# prefix設定你的git安裝目錄
$ sudo make prefix=/usr install ;# 以root許可權執行
注:為了編譯git的源**,我們還需要一些庫: expat、curl、 zlib 和 openssl; 除了expat 外,其它的庫可能在你的機器上都安裝了。
windows平台上:
目前較為流行的是使用msysgit,安裝過程很簡單,基本一路next,但要注意在選「checkout as-is, commit as-is」這個選項,這樣,git就不會修改你**的換行符風格。
2、配置
linux上在命令列用git config就可以一進行配置,但是windows上首先要開啟「git bash」進入命令列以後再用git config進行配置。
1)設定全域性使用者名稱和密碼
$ git config --global user.name author #將使用者名稱設為author
$ git config --global user.email [email protected] #將使用者郵箱設為[email protected]
2)設定專案使用者名稱和密碼
先進入某一專案,然後執行
$ git config user.name nickname#將使用者名稱設為nickname
$ git config user.email [email protected] #將使用者郵箱設為[email protected]
3)配置檔案
全域性配置檔案放在使用者目錄下的.gitconfig(隱藏檔案),專案(test)配置檔案在test目錄下的.getconfig檔案中
3、專案版本庫管理
1)建庫
$mkdir test #建立倉庫目錄
$cd test #進入倉庫目錄
$git init #在當前目錄下建乙個倉庫
$git status #檢視當前倉庫的狀態
2)新增檔案
$echo "hello sambafeng" > test.txt
$git add text.txt
3)提交檔案
$git commit -m "project init"
$git log
3)比較兩個檔案差異
$echo "hello samba" >> text.txt
$git diff
$git add text.txt
$git commit -m "samba"
$git log
4、其他常用命令
git diff rev path
git checkout path
git rm file
git mv file
git blame file
git show [rev:path/to/file(directory)]
git tag -a name
git tag -l
git show tag
git branch branch
git checkout branch
git branch
git checkout rev
git checkout prebranch
git merge branch
git cherry-pick rev
git clone url
git checkout --track -b branch origin/branch
git pull
參考:其他:查詢用到的workspace
tf workspaces /owner:yfzheng /server:
檢視變更情況
tf status /server: /workspace:* /user:yfzheng
檢視本地tfs工作目錄
tf workfold
比較變化
tf diff
得到最新版本
tf get
向庫中新增檔案
tf add xx
tf checkin * /noprompt提交
Second Life 軟體探索之旅
主題 日期 second life 客戶機,第 2 部分 深入研究文件 second life 客戶機的開發者文件採用了 wiki。在 second life 軟體探索之旅的第 2 階段,我們將檢視該文件,並使用它對客戶機進行一些修改。2007年5月31日 second life 客戶機,第 3 部...
Identity Core探索之旅 五
authorization,意為授權,當使用者登入後,使用者已經有了自己的身份資訊 我是誰 但是使用者也分層級,有普通使用者,vip使用者甚至管理員,我們現在要求只能管理員可以登入,怎麼做呢?很簡單,先了解下怎麼配置authorization。先在service中配置authorization se...
單例模式 探索之旅
當程式中需要在多處用到乙個類的同乙個例項時,我們通常得給此類宣告乙個全域性變數,不然只有通過函式鏈傳遞此類例項的引用,然而這兩種方式都存在一定問題,特別是要考慮執行緒安全時。我們需要一種更方便安全的方式來應對多處用到乙個類的同乙個例項問題。程式生命週期中,保證類只有乙個例項,且提供乙個訪問它的全域性...