git原理,git命令使用詳解,github使用 –有此圖文並茂原來如此簡單

一、Git分佈式控制系統原理:
git有三個區,被管理的代碼或文件是從:工作區–>暫存區–>本地版本庫。

 

二、GitHub創建線上倉庫
GitHub是一個面向開源及私有軟件項目的託管平台,因為只支持Git作為唯一的版本庫格式進行託管,故名:GitHub,GitHub的操作很簡單,就一個建庫操作。

1.註冊GitHub賬號,網址為:https://github.com

註冊詳見Git第一篇:https://blog.csdn.net/pengjiangchun/article/details/105305855

2.新建GitHub庫。

從右上角登錄的用戶名中選擇:”您的存儲庫”進入到存儲庫列表頁面,如下圖所示:

點擊”新”按鈕後如下圖:

 

點擊”創建倉庫”按鈕完成倉庫的創建。

如果你覺得此文對你有幫助,如果你對此文有任何疑問,如果你對軟件測試、接口測試、自動化測試、面試經驗交流感興趣都可以加入軟件測試技術群:695458161,群里發放的免費資料都是筆者十多年測試生涯的精華。還有同行一起交流哦。

 

三、Git分佈式控制系統使用命令:
1、先從Git服務器上克隆完整的Git倉庫到本地(包括代碼和版本信息)

(1)在桌面新建一個文件夾repo,進入後,右擊選中”Git Bash Here”,

輸入命令:git clone https://github.com/pengjiangchun/test.git

其中:https://github.com/pengjiangchun/test.git 為創建的線上倉庫的地址

命令解釋:”git clone”的功能是將項目Git庫複製到本地當前目錄中。出現一個test倉庫,進入test倉庫後,查看隱藏文件,發現如下結構:分為版本庫和工作區。

 

如:加上-b master則命令如下:

git clone -b master https://github.com/pengjiangchun/test.git

“-b master”參數是執行當前clone為master分支的內容。

2、將本地新增文件上傳到Git庫。

(1) 在test文件夾新建一個本地文件:可以直接新建,也可以使用vi命令創建。

可以使用Linux命令:vi a.txt 保存退出。

然後輸入git status命令當前庫的改動。會列出所有的改動,包括新增、修改、刪除等改變的文件。如下圖所示:

(2) 向服務器更改(添加、刪除、編輯)文件。

a.如果要添加或更改文件但不包括刪除的文件:則使用命令:git add a.txt

b.如果只編輯文件或刪除文件但不包括新添加的文件,則使用命令:git add -u

c.如果要上傳當前所有的改動,則使用命令:git add -A (多文件用這種)

以上代碼運行之後,文件就從工作區添加到了暫存區,可以進入.git包發現其中多了一個文件index,這個文件就是暫存區文件。

(3) 把暫存區的內容提交到本地版本庫:此步驟需要添加註解。用於說明提交的目的和用途等事項。

命令如下:git commit -m ‘第一次提交’ -m是註解。

每次提交時都出現如下提示:要求設置使用者的身份。解決方案有兩種:

第一種:增加單獨的用戶和郵箱,命令如下:(這種每次都要設置)

git config user.name “您的用戶名”

git config user.email “你的電子郵箱”

 第二種:設置全局的,這種在同一個庫中只需要設置一次。一勞永逸。

進入.git版本庫文件,找到config文件。使用notepad++打開,加入如下內容:

[user]

name = 您的用戶名

email = 您的郵箱

 

  當全局和單獨的都存在時,默認使用單獨的。

解決後再次輸提交:git commit -m ‘第一次提交’

(4) 再次使用git status查看,沒有有用信息,需要使用git log查看操作日誌。如下:

 

 其中:commit f0646ad…為版本號。是一個hash碼,可以在版本庫中的如下地址找到:C:UsersAdministratorDesktoprepotest.gitobjectsf0646ad…

(5) 使用vi命令修改a.txt文件的內容。再次使用git status查看狀態,狀態為modified

 

 (6) 再次添加和提交到本地版本庫:

git add a.txt

git commit -m ‘第二次提交’

(7) 回退到指定版本命令:

回退到指定版本:git reset –hard 版本號 (如:f0646ad,最少可以使用4位。多位也沒關係,版本號由git log獲取)

(8) 提交到github。這裡會彈出一個窗口要求登錄,然後需要等待一段時間。

git push

(9) 協同工作時如何解決衝突。

分張三和李四去操作同一個文件a.txt時。當本地版本高於GitHub版本提交時發生

解決步驟如下:

a、合併

(1)提交之前先合併,使用命令:git pull (不是同一行可以自動合併,只針對純文本文件,是同一行時會把不同的記錄在都記錄在文件中。去掉不需要的內容)

(2)使用合併工具:git mergetool 中間輸入一個a

b.增加:git add -A

c.提交:git commit -m ‘解決衝突’

d.上傳:git push