Git 是一套由 Linus 發展出來的 content tracker 系統,它的內部設計像是檔案系統,而不是 SCM 系統,雖然它最主要的用處是拿來做 DVCS。
這裡最重要的理解就是:他追蹤的是內容,不是檔案名稱,所以即使檔案名稱不同或是在不同的 branch 裡面,相同的內容仍然只會有一份實體,其他都是利用 metadata 建立 reference 關聯。這也是為什麼它比起 SVN 又快又省空間又有效率,分支 branch 跟 tag 超快(只是建立 reference 而已),而且也可以改檔名(在 SVN 要刪除再新增,真是 sucks)。
因為 Git 比起 SVN 實在先進多了,除了比較難上手一些之外,我想這幾年應該會大規模的取代 SVN 成為新霸主吧(Why Git is Better than X),它目前最大的缺點是 Windows 上的支援還不是非常成熟。如果您想看看其他選擇,聽說 Hg 這套 DVCS 也是非常不錯 (快把 SVN 丟了吧)。
認真學會了一套分散式版本控制系統 DVCS,對專案開發真是幫助不少,以往我會對 branch 感到害怕,覺得是高級的技巧,學會 Git 之後這件事變成一個非常 easy 的開發技巧,不像 svn copy 跟 svn merge 令人抗拒。這對一個已經在上 production 的軟體來說幫助極大,因為必需同時維護 stable 的版本只做 bug fixes,以及數個 development branch 同時開發不同 topic/features
git 学习资料:
http://ihower.tw/blog/archives/category/git
http://plog.longwin.com.tw/my_note-unix/2009/05/20/git-learn-test-command-2009
http://plog.longwin.com.tw/my_note-unix/2009/05/19/git-learn-initial-command-2009
Redmine:是一个基于web的项目管理软件,用Ruby开发的。(可以想象成用php写的n个文件,可以在网页上浏览,就像wordpress。)
协作对于一个团队来说至关重要,尤其是产品开发的团队,项目化的管理方式已经深入人心,MS Project 所有做过项目管理的人都应该了解,但是每天面对一张静态的甘特图来分配资源、调整进度的做法已经不合时宜了,在 Web 服务盛行的时代,以沟通为核心概念的小型团队项目管理服务 Basecamp 取得了成功,同时还捧红了 Ruby on Rails 框架。
http://baike.baidu.com/view/2228665.htm
GIT 学习篇:
git config --global user.name Rubygit config --global user.email [email protected]這樣 Commit出去 才知道你是誰多人的專案 要找問題 也才知道要找誰產生key (第一次才需要)ssh-keygen -t rsa -b 2048
先看一下這張圖
mkdir project1 # 建立你的working directory cd project1 # 進入 git init # git 初始化,會讓你的專案Project1 裡面多了一個 .git目錄 touch README # 新增加一個檔案 README git add README # 將REAME這檔案放進 staging area git commit -m 'first commit' # 將這檔案放進 local端的 repository git remote add origin [email protected]:ruby.git # 設定 remote 端的 repository 稱為 origin # make sure you are a member in this project and have a role # which allows 存取送交之變更 git push origin master # 將local端的master 送到遠端 origin 裡面
完成
基本上,學習git,建議你們常看一下上面那一張圖 可以知道你們現在做的這行為是在幹嘛,是在操作哪個區塊裡面的事情
git add
git commit
git push
git pull
這只是最基本的操作而已