Git學習筆記

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便可,重啓系統。

發佈了79 篇原創文章 · 獲贊 41 · 訪問量 219萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章