-
從一般開發者的角度來看,git有以下功能:
-
從服務器上克隆完整的Git倉庫(包括代碼和版本信息)到單機上。
-
在自己的機器上根據不同的開發目的,創建分支,修改代碼。
-
在單機上自己創建的分支上提交代碼。
-
在單機上合並分支。
-
把服務器上最新版的代碼fetch下來,然后跟自己的主分支合並。
-
生成補丁(patch),把補丁發送給主開發者。
-
看主開發者的反饋,如果主開發者發現兩個一般開發者之間有沖突(他們之間可以合作解決的沖突),就會要求他們先解決沖突,然后再由其中一個人提交。如果主開發者可以自己解決,或者沒有沖突,就通過。
-
一般開發者之間解決沖突的方法,開發者之間可以使用pull 命令解決沖突,解決完沖突之后再向主開發者提交補丁。
-
從主開發者的角度(假設主開發者不用開發代碼)看,git有以下功能:
-
查看郵件或者通過其它方式查看一般開發者的提交狀態。
-
打上補丁,解決沖突(可以自己解決,也可以要求開發者之間解決以后再重新提交,如果是開源項目,還要決定哪些補丁有用,哪些不用)。
-
向公共服務器提交結果,然后通知所有開發人員。
-
優點:
-
適合 分布式開發,強調個體。
-
公共服務器壓力和數據量都不會太大。
-
速度快、靈活。
-
任意兩個開發者之間可以很容易的解決沖突。
-
離線工作。
-
缺點:
-
資料少(起碼中文資料很少)。
-
學習周期相對而言比較長。
-
不符合常規思維。
-
代碼保密性差,一旦開發者把整個庫克隆下來就可以完全公開所有代碼和版本信息。
使用版本控制管理工具git來管理項目
一、 安裝
Git(git_for_windows.xp510.com.rar)
二、 使用
a) 進入到 git bash(命令行工具)
b) 初始化user.name,user.email
$ git config --global user.name "AmbitionG"
$ git config --global user.email "2438387860@qq.com"
三、 開發項目
c) 進入HBulid新建項目(如:e:\web20170210),把git bash工具的當前路徑轉入到你的項目目錄
命令:
cd e:\healthy
四、 給項目配置git倉庫
d) 初始化倉庫:git init
i. 在git bash里,轉換路徑: cd e:/ web20170210
ii. 輸入 git init。就會在e:/ web20170210下產生目錄 .git(隱藏目錄),表示e:\ web20170210里的項目代碼(即所有的文件)會使用git進行版本管理。
注意:在初始化倉庫后 盡量新建一個master的分支yourname 然后所有的剩余操作在yourname中執行
在git bash里輸入$ git checkout -b -yourname
五、 把開發的代碼放在本地版本庫
e) Git add
假設在項目下有個index.html文件。在 git Bash,輸入:git add index.html
f) Git commit(提交)
i. 在git Bash里輸入:$ git commit -m "這是新建的index.html"。其中"這是新建的index.html"只是說明或者說解釋。
理解:add和commit;
Add:添加;相當於打了標記,告訴git,下次提交時把該文件進行提交。
Commit:提交。把打過標記的(即用add進行添加的文件),一次性進行提交。
g)
六、 恢復(跳轉)到某個版本的文件
1) 、查看所有的版本的命令
git log
2) 、要恢復到上一個版本
git reset --hard HEAD^
3) 、恢復到指定版本
git reset --hard 版本序列號
七、 把本地版本庫的代碼放在遠程庫
1. 進入github官網(https://github.com/)
2. 注冊賬號
3. 登錄(Sign in)
4. 創建本地與遠程的連接(用ssh)(搭橋)
1) 在本地創建ssh key(公鑰)。
創建SSH Key: $ ssh-keygen -t rsa -C 2438387860@qq.com你需要把郵件地址換成你⾃⼰的郵件地址,然后⼀路回車,使⽤默認值即可.
在⽤戶主目錄下(/c/Users/Administrator/.ssh/id_rsa)),看看有沒有.ssh目錄,如果有,再看看這個目錄下 有沒有id_rsa和id_rsa.pub這兩個⽂件,如果已經有了,可直接 跳到下⼀步。
2) 在遠程創建ssh key:
登陸GitHub,打開“Account settings”,“SSH Keys”⾯: 然后,點“Add SSH Key”,填上任意Title,在Key⽂本框⾥粘貼id_rsa.pub⽂件的內容:
點擊“add SSH Key”
5. 創建遠程倉庫:
1) 在頁面中找 “new repository”
2) 輸入倉庫名
點擊“create repository”
3) 添加遠程庫的命令(可以認為是把遠程庫和地址進行對應)
在git bash里輸入以下命令:(切記:把git bash的當前路徑轉到你的項目路徑(帶有.git文件夾)下)
git remote add origin git@github.com:tianwater/bigMi.git
origin:是遠程的庫名(可以認為是別名,可以更改);
git@github.com:tianwater/bigMi.git:是上一個截圖中的ssh地址;
6. 把本地庫的內容推送到遠程庫(確保本地執行過git add和git commit)
git push -u origin master
注意:origin是遠程庫名,根據實際情況進行更改
注意:確保本地執行過git add和git commit,即,本地版本庫要有的版本。
八、 克隆遠程庫
前面六步中講了先有本地庫,后有遠程庫的時候,如何關聯遠程庫。 現在,假設我們從零開發,那么最好的⽅式是先創建遠程庫,然后,從遠程庫克隆到本地。
1.
⾸先,登陸GitHub,創建⼀個新的倉庫,名字叫mytaobao:
注意:勾選Initialize this repository with a README,這樣GitHub會⾃動為我們創建⼀個 README.md⽂件。創建完畢后,可以看到README.md⽂件:
2. git clone克隆⼀個本地庫
$ git clone git@github.com:tianwater/mytaobao.git
這樣就會在當前目錄下創建一個本地的git版本庫。
注意:把git bash 的當前路徑要轉到你的項目目錄下
一、 總結:
以后,每天做的git相關工作
1)、git add *
2)、git commit –m “版本描述”
3)、git push -u origin master