Git、GitHub、Idea+Git使用總結

git-2.16.2

Git簡介

Git是一個開源的分佈式版本控制系統,可以有效、高速地處理從很小到非常大的項目版本管理。
Git是分佈式版本控制系統,SVN是集中式版本控制系統。布式的版本控制就是每個人都可以創建一個獨立的代碼倉庫用於管理,各種版本控制的操作都可以在本地完成。每個人修改的代碼都可以推送合併到另外一個代碼倉庫中。而SVN只有一箇中央控制,所有的開發人員都必須依賴於這個代碼倉庫。每次版本控制的操作也必須鏈接到服務器才能完成。

工作區、暫存區、版本庫

  • 工作區:存儲寫的代碼。就是磁盤上能看到的目錄
  • 暫存區(stage或index):計劃要提交的文件。一般存在.git/index文件中,所有暫存區也叫索引。
  • 版本庫:(本地庫).git目錄是GIt的版本庫

在這裏插入圖片描述

代碼託管中心

代碼託管中心的任務就是維護遠程庫,遠程庫有如下幾種:
局域網環境下一般使用GitLab服務器
外網環境下一般使用GitHub、碼雲

兩種工作方式

團隊內部:
在這裏插入圖片描述
團隊內部+第三方:
在這裏插入圖片描述
第三方要參與開發,需要先fork一份代碼到遠程第三方庫,然後clone到本地,寫好代碼之後push到遠程第三方庫,代碼需要由開發團隊審覈通過後,merge到遠程庫上。

工作區、暫存區、本地庫演示

1. 準備

進入你想要存放工作空間的目錄下,打開Git Bash,創建工作目錄、demo文件夾和一個hello.txt文件並用vim打開寫入aaaa
在這裏插入圖片描述
2. 創建本地庫

2.1 初始化本地倉庫

執行git init命令之後,當前目錄成爲一個本地庫,會生成一個.git目錄,該目錄包含了資源的所有元數據
在這裏插入圖片描述
2.2 設置簽名(必須設置簽名)

簽名用於標識不同的開發人員身份,形式:
用戶名:xxx
Email:[email protected]

【注】這裏的簽名和遠程庫(代碼託管中心GItHub/GitLab)無任何關係

簽名的作用範圍

  • 項目級別:僅在當前本地庫範圍有效

git config user.name xxx
git config user.email [email protected]

  • 系統級別:登錄當前操作系統的用戶範圍

git config --global user.name xxx
git config --global user.email [email protected]

在這裏插入圖片描述
3. 工作區上傳到本地庫
hello.txt文件默認在工作區,先將該文件上傳到暫存區,再從暫存區上傳到本地庫
在這裏插入圖片描述
3.1 相關命令
git status:顯示工作目錄和暫存區的狀態
在這裏插入圖片描述
git add:將工作區的文件提交到暫存區
在這裏插入圖片描述
git rm:用於從工作區中刪除文件
git rm --cached 文件名:用於將暫存區的文件恢復到工作區

git commit 文件名:將暫存區的文件提交到本地庫,將暫存區的當前內容與描述更改的用戶和日誌信息一起存儲在新的提交中
git commit -m 提交日誌 文件名:添加日誌並提交
在這裏插入圖片描述
修改hello.txt後再次提交一遍:
在這裏插入圖片描述
4. 查看提交日誌
git log:查看提交日誌
git log --pretty=onelinegit log --oneline:查看日誌簡要信息
在這裏插入圖片描述
5. 恢復到某個版本
git reset --hard 跳到指定版本:將當前HEAD復位到指定版本,一般用於撤銷之前的一些操作
在這裏插入圖片描述
6. 文件比較
git diff 文件名:工作區和暫存區文件的比較

GitHub

GitHub是一個面向開源及私有軟件項目的託管平臺,因爲只支持git 作爲唯一的版本庫格式進行託管,故名GitHub。

解決github.com訪問過慢問題:

  • 進入http://tool.chinaz.com
  • 輸入github.com,查詢
  • 選擇TTL值最小的ip
  • 打開C:\Windows\System32\drivers\etc\hosts文件,設置ip github.com git

這樣就能繞過域名解析,並設置訪問TTL值最小的服務器

使用

按照這張圖:
在這裏插入圖片描述
1. 在git_work工作空間目錄下新建目錄demo1

2. 在github上新建倉庫
在這裏插入圖片描述
接下來按照這裏的命令提示來做
在這裏插入圖片描述
3. 創建本地庫並提交代碼到本地庫
在這裏插入圖片描述
4. 本地庫提交到遠程庫(假設你是項目經理,完成圖中的第一步push)
git remote add origin github上提示的地址
git push -u origin master:origin是後面地址的別名【注意,這個別名下面會用到很多次】,master指master分支。需要github賬號名和密碼
在這裏插入圖片描述
此時在github就能看到這個項目:
在這裏插入圖片描述
5. 現在,項目經理已經把代碼push到遠程庫,開發人員需要從遠程庫clone代碼到本地(完成第二步clone)
第一種方式是直接在GitHub上下載代碼即可
第二種方式通過命令:git clone https://github.com/xxx/demo1.git

git clone

  • 把遠程庫的代碼下載到本地
  • 創建origin遠程地址別名
  • 初始化本地庫

在這裏插入圖片描述
6. 開發人員修改代碼,並提交到本地庫
在這裏插入圖片描述
7. 開發人員將本地庫代碼提交到遠程庫(完成第三步push)
git push:將本地分支的更新推送到遠程主機
在這裏插入圖片描述
由於之前項目經理的角色和現在開發者的角色用的是同一個github賬號,因此我這裏可以直接提交成功。
一般,需要項目經理將開發人員拉進項目組,做法如下:
在這裏插入圖片描述
在這裏插入圖片描述
點擊添加按鈕後會生成一個邀請鏈接,將這個鏈接發送給開發人員,開發人員訪問這個鏈接確認進入項目組即可。

8. 項目經理將遠程庫的代碼pull到本地(完成第四步push)
git pull origin master:相當於git fetchgit merge組合,用於取回遠程主機某個分支的更新,再與本地的指定分支合併
在這裏插入圖片描述

Idea+Git

1. 在Idea中創建一個SpringBoot項目,寫一個Controller如下,啓動SpringBoot應用程序,測試無誤即可

@RestController
public class HelloController {

    @RequestMapping("hello")
    public String hello() {
        return "hello";
    }
}

2. 配置Git版本控制
在這裏插入圖片描述
3. 初始化本地庫
在這裏插入圖片描述
在這裏插入圖片描述
4. 提交到本地庫
在這裏插入圖片描述
在這裏插入圖片描述
5. 本地庫提交到遠程庫
(1)先創建GitHub遠程倉庫,這一步驟在上一個例子中已經演示過
(2)在Idea中配置GitHub
在這裏插入圖片描述
(3)找到創建GitHub倉庫後給出的地址,然後在Idea中提交項目到遠程庫
在這裏插入圖片描述
(4)push
在這裏插入圖片描述
(5)查看遠程庫
在這裏插入圖片描述
6. 開發人員clone項目
在這裏插入圖片描述
7. 切換到demo3-master(demo3-master是從遠程庫clone本地庫後在本地庫中的名字)項目中
修改代碼並提交到本地庫
在這裏插入圖片描述
push到遠程庫(只有項目經理邀請了該GitHub賬號參與項目才能push成功)
在這裏插入圖片描述
查看遠程庫
在這裏插入圖片描述
8. 項目經理pull項目
現在切換到demo3(項目經理的工作目錄),點擊pull後,demo3項目內容就和遠程庫項目內容一致了
在這裏插入圖片描述
9. 開發者通過pull命令更新本地代碼

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章