一、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:UsersAdministratorDesktop
epo est.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
四、總結
如果你覺得此文對你有幫助,如果你對軟體測試、接口測試、自動化測試、面試經驗交流感興趣歡迎加入:
軟體測試技術群:695458161,群裡發放的免費資料都是筆者十多年測試生涯的精華。還有同行大神一起交流技術哦。
作者:來自公衆号:軟測之家
出處:https://www.cnblogs.com/csmashang/p/12655112.html
原創不易,歡迎轉載,但未經作者同意請保留此段聲明,并在文章頁面明顯位置給出原文連結。