git是分布式版本控制系統,cvs及svn都是集中式的版本控制系統。集中式版本控制系統,版本庫是集中存放在**伺服器的,而幹活的時候,用的都是自己的電腦,所以要先從**伺服器取得最新的版本,然後開始幹活,幹完活了,再把自己的活推送給**伺服器,最大的毛病就是必須聯網才能工作。分布式版本控制系統根本沒有「**伺服器」,每個人的電腦上都是乙個完整的版本庫,比方說你在自己電腦上改了檔案a,你的同事也在他的電腦上改了檔案a,這時,你們倆之間只需把各自的修改推送給對方,就可以互相看到對方的修改了,分布式版本控制系統的安全性要高很多。分布式版本控制系統通常也有一台充當「**伺服器」的電腦,但這個伺服器的作用僅僅是用來方便「交換」大家的修改,沒有它大家也一樣幹活,只是交換修改不方便而已安裝完成後,在開始選單裡找到「git」->「git bash」,蹦出乙個類似命令列視窗的東西,就說明git安裝成功!
安裝完成後,還需要最後一步設定,在命令列輸入:
版本庫又名倉庫,英文名repository,你可以簡單理解成乙個目錄,這個目錄裡面的所有檔案都可以被git管理起來,每個檔案的修改、刪除,git都能跟蹤,以便任何時刻都可以追蹤歷史,或者在將來某個時刻可以「還原」。
$ mkdir learngit
$ cd learngit
$ pwd
/users/michael/learngit
pwd
命令用於顯示當前目錄
第二步,通過git init
命令把這個目錄變成git可以管理的倉庫:
$ git init
initialized empty git repository in /users/michael/learngit/.git/
如果你沒有看到.git
目錄,那是因為這個目錄預設是隱藏的,用ls -ah
命令就可以看見。
現在我們編寫乙個readme.txt
檔案,內容如下
git is a version control system.
git is free software.
一定要放到learngit
目錄下(子目錄也行),因為這是乙個git倉庫,放到其他地方git再厲害也找不到這個檔案。
把乙個檔案放到git倉庫只需要兩步。
第一步,用命令git add
告訴git,把檔案新增到倉庫:
$ git add readme.txt
執行上面的命令,沒有任何顯示,這就對了,unix的哲學是「沒有訊息就是好訊息」,說明新增成功。
第二步,用命令git commit
告訴git,把檔案提交到倉庫:
修改檔案內容,執行$ git commit -m "wrote a readme file"
[master (root-commit) cb926e7] wrote a readme file
1 file changed, 2 insertions(+)
create mode 100644 readme.txt
git status
命令可掌握倉庫當前的狀態。git diff檢視具體修改了什麼內容。提交修改的檔案。
$ git add readme.txt
$ git status
# on branch master
# changes to be committed:
# (use "git reset head ..." to unstage)
## modified: readme.txt
#
$ git commit -m "add distributed"
[master ea34578] add distributed
1 file changed, 1 insertion(+), 1 deletion(-)
$ git status
# on branch master
nothing to commit (working directory clean)
$ git log
commit 3628164fb26d48395383f8f31179f24e0882e1e0
author: michael liao
date: tue aug 20 15:11:49 2013 +0800
commit ea34578d5496d7dd233c827ed32a8cd576c5ee85
author: michael liao
date: tue aug 20 14:53:12 2013 +0800
add distributed
commit cb926e7ea50ad11b8f9e909c05226233bf755030
author: michael liao
date: mon aug 19 17:51:55 2013 +0800
wrote a readme file
$ git log --pretty=oneline
ea34578d5496d7dd233c827ed32a8cd576c5ee85 add distributed
cb926e7ea50ad11b8f9e909c05226233bf755030 wrote a readme file
$ git reset --hard head^
head is now at ea34578 add distributed
$ git reset --hard 3628164
head is now at
$ cat readme.txt
git is a distributed version control system.
git is free software distributed under the gpl.
$ git
reflog
ea34578
head
@: reset: moving
tohead^
3628164 head
gplea34578
head
@: commit: add
distributed
cb926e7
head
@: commit (initial): wrote
areadme
file
丟棄工作區的修改
$ git checkout -- readme.txt
把暫存區的修改撤銷掉(unstage),重新放回工作區
$ git reset head readme.txt
unstaged changes after reset:m readme.txt
在檔案管理器中把沒用的檔案刪掉或者用rm
命令刪了:
$ rm test.txt
從版本庫中刪除該檔案,那就用命令git rm
刪掉,並且git commit
:$ git rm test.txt
rm 'test.txt'
$ git commit -m "remove test.txt"
[master d17efd8] remove test.txt
1 file changed, 1 deletion(-)
delete mode 100644 test.txt
刪錯了,因為版本庫里還有呢,所以可以很輕鬆地把誤刪的檔案恢復到最新版本:
$ git checkout -- test.txt
preferences》team》git>configurationeclipse提交**到**庫
專案右鍵》team》commit
設定不提交目錄
目錄右鍵》team》ignore
Git使用簡介
在 windows 上安裝 初次執行配置 第乙個要配置的是你個人的使用者名稱和電子郵件位址。這兩條配置很重要,每次 git 提 交時都會引用這兩條資訊,說明是誰提交了更新,所以會隨更新內容一起被永久納入歷史記 錄 git config global user.name john doe git co...
git使用簡介
這篇文章將從開發者和管理者兩方面介紹如何使用git進行團隊合作開發。1.git 和svn的差異 git和svn 最大的差異在於git是分布式的管理方式而svn是集中式的管理方式。如果不習慣用 管理工具,可能比較難理解分布式管理和集中式管理的概念。下面介紹兩種工具的工作流程 團隊開發 通過閱讀下面的工...
Git使用簡介
git是乙個版本控制軟體。關於它的介紹和使用說明,在其官網上有很多。主要優點 1.分布式 安全,在本地可以檢視所有歷史記錄。2.速度快。3.分支方便。pro git 原版 和 pro git中文版。它和svn的主要區別 git和svn比較。git的伺服器端和客戶端沒有本質區別,只需在git官網上下在...