使用git管理自己的代碼--簡單使用流程
其實沒有管理代碼的需求,只是在公司用公司的電腦,在自己家用自己的電腦,在父母家用父母的電腦。一份代碼來回拷的話的確有點惡心。有人說放在網盤里,DropBox被墻,MicroSoft的SkyDrive又不太安全。哎,選擇不太多。代碼嘛,還是放在VSC里吧。VSS、Team Foundation、SVN、CVS都用過,目前Git又比較火,打算試試Git。而且看上了Git的最大特點——離線提交。
OK,咱們開始說點正事吧。首先,代碼放在哪?
說道Git就得提提GitHub,是目前網絡上的Git的網絡服務提供商,像目前我這種多地玩票的,一個Open的Internet服務提供商當然是非常好的去處。地址:https://github.com/。
注冊個賬號:Signup and Pricing。當然,我選擇免費的賬號。需要注意的一點是,免費賬號中存儲的代碼都要求是可以開源的,任何人都可以下載。
提供用戶名,Email,密碼就可以完成注冊。
現在,你有了已經有了一個能夠放你的代碼的GitHub賬號了。現在我們需要一個客戶端工具能夠讓我們將代碼提交到GitHub上。
好在GitHub為我們提供了一個向導,當然,像我這種英語不好的可能就比較蛋疼。
OK,既然我這個是個簡單使用流程,我來嘮叨一下我怎么做的。順便說一下,各種操作系統使用Git的客戶端安裝方式不一樣,我在這里介紹兩種,Windows和CentOS 6.2的。
Windows(我的環境:Windows 7 旗艦 sp1)
http://code.google.com/p/msysgit/是一個windows的客戶端,是目前我使用的,目前最新的版本是Git-1.7.11-preview20120710.exe。下載安裝我就不說了。嗯。Windwos安裝Git客戶端比較簡單。
Linux(我的環境:CentOS 6.2)
CentOS 6.2的yum源中沒有Git,需要手動進行編譯安裝。首先,需要安裝git依賴的包:
yum install curl yum install curl-devel yum install zlib-devel yum install openssl-devel yum install perl yum install cpio yum install expat-devel yum install gettext-devel如果你的CentOS沒有安裝GCC,無法進行編譯安裝,需要安裝GCC:
yum -y install gcc下載最新的Git包,并且編譯安裝:
wget http://www.codemonkey.org.uk/projects/git-snapshots/git/git-latest.tar.gz tar xzvf git-latest.tar.gz cd git-xxxx-xx-xx autoconf ./configure make | make install上面cd git-xxxx-xx-xx是日期呦,跟我的肯定不一樣的啦,所以xx代替,下回用oo。
如果這個過程中沒有問題的話,你就可以通過下面的命令看git的版本了。
git -version
下面就是Git客戶端的使用了。
記得在有個blog看過“Git不太喜歡沒有名字的人”,你懂的,安裝后我們需要告訴Git你是誰。Windows建議先使用Git Bash,Linux使用終端就可以了,為了熟悉一下命令。
告訴Git你是誰:
git config --global user.name "Your Name Here" git config --global user.email "Your Email Here"Ok,git已經知道你是誰了,下一步就是創建Repository,這是管理你的代碼的倉庫。還記得我們創建的GitHub賬號嗎,又該他出場了,在服務器端創建一個Repository來放置代碼。登錄后,點擊“Create a new Repo”按鈕。
輸入Repository的信息,就可以了。so easy吧。
順便說一下,Initialize this repository with a README是在初始化一個README.md文件在repository下,這個README文件中的內容會顯示在Repository的主頁面上,用來介紹這個工程。
Add .gtiignore這個選項基本是選擇你的項目使用的語言,選好后,默認設置一些不提交的文件,比如java就是class、jar、war、ear。
OK,目前你的Repository已經建立完畢,現在需要告訴GitHub誰能向Repository中提交代碼。我選擇使用SSH方式向GitHub提交代碼。需要在系統中創建公私密鑰對。
使用Git Bash(Windows)或者終端(Linux)執行如下命令,創建系統RSA公私密鑰對。
ssh-keygen -C "Your Email address" -t rsa創建過程中,會詢問密鑰保存的位置,還有密鑰使用的密碼,如果密碼設置為空,提交代碼的時候不會詢問密碼。
默認的密鑰保存位置是:
XP/2003用戶:c:/Documents and Settings/登陸名/.ssh
Vista用戶: c:/Users/登陸名/.ssh
linux :~/.ssh打開id_rsa.pub公鑰文件,將里面的內容全部拷貝到剪貼板。然后登陸GitHub。點擊“Account Settings”按鈕。
在右側的菜單中選擇“SSH keys”。
點擊“Add SSH key”。
設置一個key的標題,然后將公鑰粘貼到下面的key輸入區。點擊“Add key”,完成key的添加。
現在需要做的就是將這個Repository同步到本地了。下面的操作基本使用的是Git Bash(Windows)或者終端(Linux)。
首先,獲得你的Repository的同步地址。登錄GitHub,找到Your Repositories。進入剛剛創建的Repository。
選擇SSH,查看SSH協議同步的Repository地址,記下,備用:
本地創建好需要同步Repository的目錄,使用cd命令進入目錄。使用git clone命令將GitHub中創建的Repository同步到剛才創建的目錄中,Repository地址是剛才記下的:
cd XXX/XXX git clone git@github.com:moishalo/test_repository.git如果剛才在創建RSA密鑰對的時候輸入密碼了,則進行同步的時候要求輸入密碼。
好了,這樣咱們就成功的將遠程的Repository同步到本地。現在的我們的問題是如何將文件提交到遠程了。在Repository下面新建一個文件test.txt。隨便寫點東西。下面我們會將這個文件提交到GitHub上。
進入Repository所在目錄,使用git add命令將文件標識為需要提交(這個命令也可以針對目錄)。
cd XXX/XXX git add test.txt使用git status命令查看我們做過哪些修改,建議在提交前都調用一下這個命令,看看我們做過什么改動。
使用git commit命令將文件提交到本地的Repository中,也就是離線提交,這個時候是可以沒有網絡鏈接的。注意:m參數后面跟的是提交的注釋,記錄這次提交的改變。
這個時候,文件還沒有提交到GitHub中,需要使用git push命令將代碼提交到服務器中。git push命令后面可以跟分支名,新創建的Repository默認分支是master。如果不跟分支名,默認直接提交到主分支master上。當然,push操作還是會校驗你的公私密鑰,如果密鑰沒設置密碼,直接可以進行提交。
這個時候,你可以登錄GitHub來查看你剛才push到服務器上的代碼。
OK,到現在,基本的操作就介紹完了。Git的命令呢,就不一一介紹了。各位自行Google吧。這篇文章寫了時間不短,只能算是記錄的Git的入門操作。我使用Git也只是入門,基本上只能介紹到這個地步了。呵呵。表達能力有限,可能有描述不清的地方。看到的各位希望能夠多提提意見。當然,有打算用Git的能夠獲得幫助那我就很欣慰啦。