git詳細教程

學前準備

  1. 下載
    點擊打開 gir 官網
    打開安裝文件,一直下一步就Ok了

  2. 測試安裝

	git --version
	git version 2.18.0.windows.1

在這裏插入圖片描述

1.使用

github

免費的代碼管理倉庫,開源

gitlab

企業用,自己的服務器搭建。(代碼倉庫)

命令行

  1. git init 初始化一個倉庫(本地)
	本地打開一個文件夾,輸入命令:
	
	> git init
  1. git add 添加文件到倉庫裏(本地),add命令沒與任何反饋
	git add <文件名稱>
	git add . // 添加當前目錄的所有文件到倉庫
	
	> git add index.html
  1. git commit 暫存到倉庫
	> git commit -m "描述信息"
	1) 這時候如果我們對文件進行了修改,需要做如下操作
	> git add .
	> git commit -m "第一次修改"
	2)vs code 查看修改的文件內容

在這裏插入圖片描述

  1. git branch 創建分支
	> git branch <分支名稱>				// 創建分支
	> git branch master  				// 創建一個主分支
	> git branch 						// 查看分支
	> git branch <分支名稱> -D  			// 刪除某個分支
  1. git checkout 切換分支
	> git checkout <已創建的分支名稱>
	
	> git branch dev			// 創建分支dev
	> git checkout dev			// 切換到分支dev
	Switched to branch 'dev'    // 已經切換到dev分支了 
	在哪個分支上創建的分支就基於哪個分支,如圖所示:
	我在master分支上建立了兩個分支,又在dev分支上建立了dev01分支,這時,dev01分支中就有dev的數據(基於dev);
	* 本分支的數據基於創建自己的上級分支,但是在本分支修改數據不會影響到上級分支(獨立個體,互不影響)
	* 如果當前分支的代碼沒有保存的話是不能切換分支的

在這裏插入圖片描述

  1. git merge 合併分支
	> git merge <合併的分支名稱>
	
	如:我想將 dev01 分支的內容合併到 master 分支,就需要在 master 分支,執行如下代碼:
	> git merge dev01
  1. git config 配置用戶信息
	> git config --global user.name <用戶名>
	> git config --global user.email <郵箱>
	//  --global 可加可不加,加了的話在這個電腦上的項目配置一次以後就不用配置了,其他的項目就不用配置了
	//  不加的話本次配置只對當前的項目有效,其他的項目還要配置一次
	
	> git config --list 					// 獲取配置信息
  1. git remote 配置遠程倉庫的信息
	> git remote add <倉庫別名> <倉庫的地址>
	> git remote 								// 查詢遠程倉庫名稱 <倉庫別名>
	> git remote remove <倉庫別名>				// 刪除掉本地中遠程倉庫的配置信息

在 github 中創建 項目/倉庫
在這裏插入圖片描述

  1. git push 把項目上傳到遠程倉庫
	> git push <倉庫別名> <分支名稱> 			// 默認不加分支的時候是 master 分支
	> git push -u <倉庫別名> <分支名稱>		// -u 參數是設置默認上傳分支
  1. git clone 克隆項目

    clone 是在本地完全沒有項目的情況下clone
    新建一個文件夾(沒有git倉庫的),clone完之後會在這個文件裏自動創建上倉庫,使用clone就不需要init初始化了

	> git clone <倉庫地址> <分支名稱> 		// 默認不加分支的時候是master分支
	> git clone https://github.com/android5203/mi.git master
	clone 下來的項目第一是不用 init初始化了
	第二是不用配置遠程倉庫的信息了,本地倉庫和遠程倉庫直接連接到一起了;
	至於上邊的第8條git remote 是遠端沒有倉庫的時候用的;
	clone 完代碼,修改之後想提交,步驟如下:
	> git add .
	> git commit -m "描述"
	> git push

以上是遠程倉庫有內容時候的操作步驟,下邊總結一下:

	1. 本地新建文件夾
	2. git clone <倉庫地址> <分支名稱> 
	3. 修改了文件
	4. git add .
	5. git commit -m "描述"
	6. git push

那如果遠程倉庫是空的的時候該怎麼操作呢?

	1. 新建文件夾
	2. git init 
	3. 編輯裏邊的項目,編輯完成
	4. git add .
	5. git commit -m "描述信息"
	6. git remote add gitTest https://github.com/android5203/test.git 		
		 // 添加遠程倉庫 gitTest (別名)
		 // 倉庫地址是在 github 上新建了倉庫的那個地址
		 // git remote 查一下當前倉庫的別名 -> gitTest
		 
	7. git push gitTest master
		// git push <倉庫別名> <分支>
		// 這樣的話每次提交到遠程就不能只用 git push ,而是要 git push <別名> <分支> 了;
		// 爲了避免這種情況:使用 -u 參數
		// git push -u gitTest master
	8. 這樣就將代碼提交到遠程倉庫了
	9. 再次修改文件
	10. git add .
	11.  git commit -m "描述"
	12.  如果之前用 -u 參數了,就直接 git push 就行,沒用的話,還得:  git push gitTest master
  1. git fetch 下載

場景如下:
一個項目,兩個工程師開發,各自一個分支,分別是 a1 , a2
這時,新建了一個分支,叫做 dev 作爲開發分支,這時,a1 / a2 已經開發完成了,需要合併到 dev 分支中,在 dev中應如何操作呢?clone?顯然不行,clone是在本地完全爲空的情況下用的;
解決如下:

> git fetch <倉庫別名> <遠程分支名稱>:<本地分支名稱>

> git fetch gitTest a1:b1
接着上邊的場景
現在本地分支 master / dev
如上命令執行完之後,本地分支 master / dev / b1
其中 b1 分支的內容是遠程的 a1分支的內容,不過在本地名稱變了一下而已(接下來就是合併操作了)
  1. git pull 拉取同步遠程倉庫代碼
    用來更新當前分支的代碼
> git pull <倉庫別名> <分支名稱> 		// 如果在有多個倉庫的情況下需要倉庫別名,有多個分支的情況下需要分支名稱

git fetch 是在本地完全沒有某個遠程分支的時候使用,比如說 a1 分支;
本地只有 master / dev 分支,沒有遠程 a1 分支的內容,這時候要用 git fetch
第二次,本地現在有了 a1 分支,再下載 a1 遠端代碼就用更新操作(pull)就好了;

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