git原理,git命令使用詳解,github使用 –有此圖文並茂原來如此簡單
- 2020 年 4 月 7 日
- 筆記
一、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