一、寫在前面
關於git,出於自己的愛好,前段時間玩了一下,也自己上網查了一下資料,現簡單記錄一下,以備查看。
當然,本文並不是介紹配置git服務器的文章,而是以github服務器作為git的遠程倉庫服務器。
二、安裝
windows下使用git,需要安裝msysGit,下載地址是https://code.google.com/p/msysgit/downloads/list;
安裝完成后,在安裝目錄下,有個msys.bat文件,這個就是msysGit提供的命令行客戶端;
當然就像svn一樣,也有圖形化的客戶端工具---TortoiseGit,安裝過程就不贅述了;
三、git命令的使用
既然github作為遠程git倉庫,第一步肯定是要去github網站上注冊一個帳號了;
在項目目錄中,所有命令,均可通過-help查看幫助
1 git diff -check 2 檢測本次提交是否有多余的空白字符, 3 會以紅三色的空白字符提示 4 5 6 git log --no-merges 7 查看提交歷史 8 9 10 git checkout master 11 切換分支(此為切換master分支) 12 13 git checkout -b featureA 14 創建並切換到featureA分支 15 16 17 git fetch origin 18 從遠端數據拉取到本地 19 並不合並到當前分支 20 21 22 git pull origin 23 從遠端數據拉取到本地 24 自動合並到當前分支 25 26 27 28 git merge origin/master 29 分支合並(此為合並到 主分支master) 30 31 32 git commit -am 'message' 33 提交到本地項目中 -a 提交所有文件 34 35 36 git push origin master 37 推送到服務器的master分支中 38 39 git push origin featureA 40 推送到服務器的featureA分支中 41 42 git push origin featureA:master 43 推送分支featureA到主分支master上 44 45 git push origin featureB:featureBee 46 推送分支featureB到服務器上的featureBee分支上 47 48 49 git branch 50 顯示所有分支 51 52 git status 53 當前分支的狀態
當不能上網時,也可以利用git存儲版本信息,
在可以上網后,在服務器上新建資源,即可推送成功
1 在某個文件夾中,進行如下操作,簡單的初始化 2 1、git init 3 4 2、touch README.md 5 6 3、git add README.md 7 添加文件到暫存區 8 git add -A 或者 git add --all 添加當前文件夾下的所有文件 9 10 4、git commit -am 'first commit' 11 12 5、git remote add origin http://github.com/vvfan/test.git 13 已添加 origin ,則直接進行第6步 14 15 6、git push -u origin master 16 17 在進行第六步之前,必須在github服務器上,新建一個test的項目資源 18 方可推送成功; 19 所以在服務器上,不論是先建項目或者后建,只要存在,都可用上面的步驟 20 進行初始化
1 Fork A Repo 2 3 1.fork the "Spoon-Knife" repository 4 5 6 2.git clone https://github.com/username/Spoon-Knife.git 7 8 9 3.cd Spoon-Knife 10 11 git remote add upstream https://github.com/octocat/Spoon-Knife.git 12 添加遠端倉庫 upstream 13 14 git fetch upstream 15 更新項目
1 clone后,本地修改添加文件 2 3 1.git clone https://github.com/vvfan/vv 4 5 2.git checkout -b featureA 6 可以不創建分支,創建分支是方便管理 7 8 3.(此后都在featureA分支目錄下) 9 touch new.txt 10 (新建一個文件) 11 12 vim new.txt 13 (新建並添加內容) 14 15 4.git add -A 16 添加所有修改的文件 17 18 5.git commint -am 'add file' 19 20 6.git push origin featureA 21 推送到服務器上featureA分支上 22 23 7.git push origin featureA:master 24 推送到主分支上
關於git分布式的工作流程以及項目的管理,可參考連接
http://www.uml.org.cn/pzgl/201107281.asp
search 公開的大型項目