Git就暫時先學到這裏吧。
主要是兩塊內容:Git基礎和Git分支
一.Git的基本認識:
1.git使用基本流程:
文件流轉的三個工作區域:
1.Git的本地數據目錄
2.工作目錄
3.暫存區域
2.git的簡單工作流程:
1.在工作目錄中修改文件
2.對修改的文件作快照,並保存到暫存區域
3.提交更新,將保存在暫存區域的快照轉存到git目錄中
3.cvcs(集中式版本控制系統)和dvcs(分佈式版本控制系統)區別:
二.Git使用(bash git)
首先我們先總結下git status的幾種狀態:
1.新添加文件到倉庫:未跟蹤狀態
2.添加跟蹤文件以後:未提交狀態(已暫存)
3.更新文件以後:(未暫存狀態)
4.手動刪除文件以後:(未暫存狀態)
同3
5.對於更新和手動刪除,我們必須將其先暫存
更新:git add .
手動刪除:git rm XX
遠程拿數據的方式:
1.克隆遠程倉庫
git clone gitURL XX
2.git fetch XX
只是將遠程的數據拉倒本地倉庫,並不自動合併到當前工作分支,只能手工合併。
XX:倉庫名稱或者URL
花了點時間基本上學會了git的使用,下面就通過將既有的用戶管理的項目遠程發佈到git服務器上的例子來介紹下git的整體流程使用。
大致分成兩大步驟:1.本地操作 2.遠程操作(大部分操作都是在本地操作進行的)
1.首先建立git的工作目錄(例如git)
並同時創建整個項目的根目錄:
2.然後將workspace下所需的項目拷貝至maven-user
3.本地操作
step1:拷貝完成以後通過git-bash進入上面的跟目錄
step2:初始化操作
git init
step3:添加跟蹤
git add .
step4:增加忽略某些文件的配置
touch .gitignore
增加:
*.pid
logs/
.idea
.settings/
target/
*.project
*.classpath
*.iml
step5:直接提交至本地數據目錄
命令:git commit -m '註釋信息'
由於是新添加跟蹤文件,因此直接add跟蹤後便進入暫存狀態
step6:將數據添加至遠程倉庫
遠程沒有數據時,就不需要pull數據,直接push便可:
第一種:
1.先git remote add 別名 gitUrl
2.然後git push 別名 master
如果gitUrl是自定義的也可以,這樣相當於創建遠程倉庫並將數據推送至遠程倉庫
成功提交:
三.Myeclipse下安裝Egit
方式一、
直接通過Myeclipse的配置中心,添加軟件的updateUrl來進行安裝插件。不過這種方式驗證了以後,巨慢。
安裝成功:
方式二、
直接下載插件包,用link方式進行安裝.
四.Git分支
1.分支基礎操作
創建新的分支:git branch XX
切換其他分支:git checkout XX
創建和切換一步完成:git checkout -b XX
合併分支:git merge XX
衝突合併:
原因:兩個待合併分支同時修改了分支裏面同一個文件的同一部分。Git無法將其趕緊的合併到一起。
解決:根據提示信息,手動處理。無非是二者選其一或者你親自整合到一起。
2.分支管理
分支查看:git branch
查看與當前分支合併的分支:git branch --merge (相反便是git branch --no-merge)
刪除分支:git branch -d XX(如果未合併,則提示不能刪除)
強制刪除分支:git branch -D XX
3.分支式工作流程
長期分支
特性分支
4.遠程分支:(無法移動的本地分支)
ps:origin遠程倉庫名稱,XXX代表本地分支名稱
-推送本地分支到遠程(同時創建遠程分支):git push origin XXX
5.衍合
略,類似於合併
Git錯誤記錄:
問題1 .通過git將本地數據推送至github上時:
disconnected no supported authentication methods available server sent publickey。
原因:烏龜git和git本身產生衝突,刪除系統變量GIT_SSH便可,重啓系統。