Git 的安裝、使用、分支、命令 一篇博客全都學會

目錄

1 版本控制

1.1 什么是版本控制

1.2 為什么需要版本控制

2 Git概述

2.1 Git的工作機制

2.2 分布式版本控制工具與集中式的區別

2.3?Git是如何誕生的

3 Git的安裝

4?Git常用命令

4.1 用戶簽名的設置和修改

4.2 查看用戶簽名的設置

4.3 初始化本地庫

4.4 添加、刪除文件到暫存區

??4.5 提交文件到本地庫形成歷史版本

?4.6 修改文件內容

?4.7 修改當前版本

?5 Git分支

5.1 分支是什么

5.2 使用分支的好處

5.3 分支的常用操作命令

5.3.1 查看分支

5.3.2 創建分支

5.3.3 修改分支

5.3.4 切換分支?

?5.3.5 分支的合并

5.3.6 刪除分支

6 Git常見命令速查表


1 版本控制

1.1 什么是版本控制

????????版本控制就是一種用來記錄文件內容變化,每次文件的變化作為一個版本,以便將來查閱特定版本修訂情況的系統。

????????下面讓我們以畢業論文的多次修改為例來了解版本控制的思想:

1.2 為什么需要版本控制

????????個人開發時版本控制的必要性不是很突出,當過渡到團隊協作開發代碼的時候,版本控制就顯得格外重要了 。

????????下面以兩人共同開發代碼為例,每天的工作量都保存在服務器上。

?沒有版本控制工具

使用了版本控制工具

2 Git概述

????????Git是一個開源免費的分布式版本控制工具,它具有廉價的本地庫即指Git的庫在本地電腦的磁盤上。

2.1 Git的工作機制

  • 工作區

????????工作區就是編寫完代碼之后,代碼存儲在磁盤中的位置。存儲在工作區的代碼是隨時可以刪除更新的,更新之后的代碼可以添加(add)到緩存區。

  • 緩存區

? ? ? ? 緩存區用來在工作區和本地庫之間起到一個緩沖的作用,添加進緩存區的代碼也是可以隨時刪除的。緩存區的代碼可以提交(commit)到本地庫。

  • 本地庫

????????提交到本地庫的代碼會生成該項目代碼的歷史版本,既然是歷史版本這個庫里的代碼就無法隨意更改了,只能基于這個版本的代碼進行修改,就算修改后生成新的版本,這個歷史版本依舊存在。

  • 遠程庫

? ? ? ? 遠程庫又叫做代碼托管中心,是將本地庫的代碼推送(push)到遠程庫,遠程庫又分為局域網和互聯網兩種,互聯網遠程庫中的代碼都是開源的,局域網中的代碼只有連接到本局域網才能查看。目前比較常用的只要有以下三種:

GitHub:配合Git使用的 【國外代碼托管中心】GitHub_扎哇太棗糕的博客-CSDN博客

Gitee:配合Git使用的 【國內代碼托管中心】Gitee **墻裂推薦**_扎哇太棗糕的博客-CSDN博客

GitLab:基于局域網代碼托管中心,若有需要可自行了解。

2.2 分布式版本控制工具與集中式的區別

????????參考博客:集中式和分布式版本控制系統的區別_貧下中農-CSDN博客_分布式控制?

2.3?Git是如何誕生的

????????Git的產生也是十分有趣的,想要了解的朋友可以看看,萬一哪天跟別人裝13用得上呢。參考博客:git的誕生歷史_u012028371的博客-CSDN博客_git的歷史

3 Git的安裝

Git官網:Git?

????????點擊后會自動下載適合你電腦的最新版本的安裝包,雙擊安裝包(除了選擇安裝目錄位置,其他選項全都無腦下一步即可)。安裝之后在桌面右鍵然后選擇Git Bash Here,鍵入命令git --version返回安裝的版本號即證明安裝成功。

4?Git常用命令

????????Git中的所有命令基本上都和Linux中相同,你完全可以在Git中使用Linux的命令去秀翻室友。

4.1 用戶簽名的設置和修改

????????第一次使用時設置用戶簽名,用來區分不同的操作者身份,不然提交代碼時可能會報錯,如果想要對用戶簽名進行修改的話,只需要再次鍵入該命令修改后面的值即可。

git config --global user.name 自己設置的用戶名
git config --global user.email 自己的郵箱

4.2 查看用戶簽名的設置

🔥使用命令查看

git config user.email
git config user.name

🔥文件內容查看

C盤-->用戶-->asus-->?.gitconfig文件(具體地址因電腦而異,我的是華碩所以說可能是asus)

4.3 初始化本地庫

? ? ? ? 在想要使用git進行托管的項目文件下右鍵選擇Git Bash Here,鍵入命令git init,即可成功初始化本地庫。初始化本地庫之后會在項目文件夾下生成一個.git文件夾(一個隱藏的文件夾),文件夾里的內容切勿作絲毫的修改。

?使用ll命令對文件進行查看,ll -a 是查看所有的文件(包括隱藏文件)

4.4 添加、刪除文件到暫存區

git add 文件名
git rm --cached 文件名

?4.5 提交文件到本地庫形成歷史版本

git commit -m "日志信息" 文件名

查看大致版本信息?

git reflog

查看詳細版本信息

git log

?4.6 修改文件內容

? ? ? ?Git中的修改文件命令跟Linux中一樣。修改后的文件不再存在于緩存區,想要提交修改后的文件到本地庫必須再次使用add命令,將修改后的文件添加進緩存區才能繼續提交。

vim 文件名

?點擊鍵盤上的insert鍵可以對文件進行修改,修改完成后點擊鍵盤上的esc退出修改模式,再點擊鍵盤的:鍵,然后鍵入wq點擊ENTER鍵,即可退出文件修改。

?4.7 修改當前版本

版本修改成功后工作區的文件內容也變成相應版本的內容。

 git reset --hard 版本號

?5 Git分支

5.1 分支是什么

? ? ? ? 在版本控制的過程中,如果需要同時推進多個任務,我們就可以為每個任務創建一個單獨的分支,用來單獨推進其中的一個任務。使用分支意味著程序員可以把自己的工作從主線上分離開來進行開發,開發自己的分支的時候,并不會影響到主線分支的運行。

? ? ? ? 以王者榮耀的每次更新為例,在版本1.0的時候我們想要在游戲中添加幾個英雄并新增一個玩法,此時從主分支上拉取1.0的項目形成兩個分支,同時開始研發。當添加英雄的任務完成之后,將其與主分支進行合并形成1.1版本,新增玩法則繼續開發。1.1版本上線后根據用戶反饋發現有一個bug影響游戲體驗,于是我們拉取1.1的項目形成一個熱修分支,將bug修改完成后與主分支進行合并形成1.2版本。此時新增的玩法終于完成,將其與主分支進行合并,由于此次是一次大更新,所以我們姑且將它定義為2.0版本。

?所以現在能夠理解為什么王者的每次更新都需要我們去下載資源了吧

5.2 使用分支的好處

????????并行推進多個功能的開發,提高開發效率。各個分支在開發的過程中,如果某一個分支開發失敗,不會對其他分支產生任何的影響,失敗后刪除分支重新開始即可。

5.3 分支的常用操作命令

5.3.1 查看分支

git branch -v

5.3.2 創建分支

git branch 分支名

5.3.3 修改分支

? ? ? ? 修改分支實際上就是在該分支上使用vim命令對項目的文件內容進行修改,在一個分支上修改文件并不會對影響該文件在其他分支上的內容信息,切換分支后再查看該文件會發現文件內容并沒有改變 。

5.3.4 切換分支?

git checkout 分支名

?5.3.5 分支的合并

git merge 分支名

5.3.6 刪除分支

git branch -d 分支名

6 Git常見命令速查表

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/535149.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/535149.shtml
英文地址,請注明出處:http://en.pswp.cn/news/535149.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

生成一個GitHub的token用于git推送本地庫至遠程庫

1 一步步選擇設置 2 使用鏈接直接跳轉到最后一步的設置頁 git push 的時候需要token,所以在GitHub上生成一個臨時的token 1 一步步選擇設置 2 使用鏈接直接跳轉到最后一步的設置頁 前提是你已經在這個瀏覽器上登陸了GitHub https://github.com/settings/tokens

都2021年了,還不會使用GitHub創建、推送、拉取、克隆遠程庫、團隊協作開發?

1 對自己的遠程庫操作 1.1 在GitHub上創建遠程庫 1.2 推送本地庫至遠程庫 1.3 拉取遠程庫到本地庫 1.4 克隆遠程倉庫到本地 2 對別人的遠程庫兩種操作方式 2.1 使用GitHub進行團隊內協作開發 2.2 使用GitHub進行跨團隊協作開發 眾所周知,GitHub是一個大型的國…

2021 最新 IDEA集成Gitee、Gitee遷移GitHub【圖文講解】

1 創建遠程庫 2 IDEA集成Gitee 2.1 安裝gitee插件并綁定賬號 2.2 IDEA推送本地庫至遠程庫的兩種方式 2.3 修改后推送本地庫至遠程庫 2.4 拉取遠程庫 2.5 使用IDEA克隆遠程庫 3 Gitee遷移GitHub的遠程庫的兩種方式 3.1 自己的賬戶之間遷移 3.2 使用鏈接進行遷移 3.3 強制刷…

只需五步學會Maven 3.6.1OR 3.6.3及其他版本的下載安裝與配置【圖文詳解】

第一步,下載并解壓縮包 ?第二步,配置兩個環境變量 ?第三步,測試是否安裝成功 ?第四步,指定本地倉庫的路徑 第五步,修改鏡像倉庫 第一步,下載并解壓縮包 Maven官方下載地址:https://mav…

只需四步完成java JDK1.8的下載安裝與配置【圖文詳解】

第一步,下載安裝包并安裝 第二步,安裝JDK 第三步,配置三個環境變量 第四步,測試是否安裝成功 第一步,下載安裝包并安裝 Oracle的官方下載地址:https://www.oracle.com/java/technologies/downloads/#ja…

從Maven中央倉庫網站下載jar包的兩種方式,將會伴隨java后端開發者的整個職業生涯

這個肥腸重要的網站就是:https://mvnrepository.com/ 下面我會以mysql-connector-java-8.0.26.jar為例,教會你使用兩種方式下載使用jar包資源 首先在搜索欄使用全稱或者是關鍵字對jar包進行搜索 選擇你想要的版本 方式一:導入pom文件依賴(…

2021 使用IDEA創建并編寫你的第一個Maven項目【圖文詳解】

1 使用IDEA創建你的第一個Maven項目 2 使用IDEA編寫一個Maven項目 1 使用IDEA創建你的第一個Maven項目 新建一個空白項目 File-->New-->Project-->Empty Project 在IDEA中配置JDK 在IDEA中配置Maven 新建一個Maven模塊 在test目錄下面新建一個resources文件夾 2 使…

能讓你的Intellij IDEA 起飛的幾個設置(設置背景 字體 快捷鍵 鼠標懸停提示 提示忽略大小寫 取消單行顯示)

1 設置主題(背景圖片) 2 設置字體 2.1 設置默認的字體及其大小、行間距**墻裂推薦** 2.2 設置字體大小可以隨意改變**墻裂推薦** 3 設置鼠標懸停提示 4 提示的時候忽略大小寫**墻裂推薦** ??5 取消單行顯示tabs**墻裂推薦** 6 修改類頭的文檔注釋信息 7 設置項目文…

控制臺:Unable to import maven project: See logs for details日志:Unable to create injector, see the follow

問題描述: 當我在使用IDEA 完成一個Maven項目的時候,在第一步的pom.xml文件導入依賴時就發生了這個問題,彈窗彈出Uable to import maven project 控制臺報 Unable to import maven project: See logs for details的異常。 既然人家都讓查看l…

Maven基礎教程

1 Maven簡介 2 Maven基礎概念 2.1 倉庫 2.2 坐標 3 依賴的相關知識點 4 生命周期與插件 5 使用Inteli idea完成第一個Maven項目 1 Maven簡介 Maven的本質就是一個項目管理工具,用于將項目開發和管理過程抽象成一個項目對象模型(project object model POM) Ma…

java實現編輯距離算法(levenshtein distance),計算字符串或者是文本之間的相似度【附代碼】

編輯距離算法其實就是,在規定的編輯操作(替換字符串、插入字符串、刪除字符串)中,經過幾步可以把一個字符串變成另一個字符串,而這個所需的步數就是你的編輯距離。 測試樣例: str1 abc str2 yabd 表里的每一個值都代表著將s…

【Java從入門到頭禿專欄 】(一)學在Java語法之前

目錄 1 初識Java 2 Java環境JDK 3 Java規范 1 初識Java Java是美國的sun(Stanford University Network)公司在1995年推出的一門計算機高級編程語言,雖然說當時參與開發Java的人員有好幾名,但是業內公認的Java之父是詹姆斯高斯林(James Gosling)。 Jav…

【Java從入門到頭禿專欄 】(二) 注釋 數據類型 變量 常量 關鍵字 標識符 運算符 輸入輸出

目錄 1 注釋 2 數據類型 3 變量與常量 4 關鍵字、標識符 5 運算符 6 鍵入值、輸出值 1 注釋 注釋就是寫在程序中對代碼進行解釋說明的文字,方便自己和其他人查看,以便大家更加容易理解程序。注釋雖然寫在程序中,但是并不參與程序的執行&#…

【Java從入門到頭禿專欄 】(三) 控制流程 Math Date DateFormat Calendar System BigDecimal Random

目錄 1 控制流程 2 Math類 3 Date類 4 DateFormat類 5 Calendar類(日歷類) 6 System類 7 BigDecimal類 8 Random類(隨機數) 1 控制流程 1.1 塊作用域 塊(即復合語句)就是指由若干條Java語句組成的語句,并用一條大括號括起來,并借此形式確定了變量…

IntelliJ IDEA最常用的一些快捷鍵,學會了室友還以為你在祖安對線

目錄 1 快速生成語句 1.1 main語句 1.2 輸出語句 1.3 流程控制語句 1.3.1 if判斷語句 1.3.2 while循環 1.3.3 for循環 1.3.4 數組、集合的循環操作 1.3.5 迭代器循環操作 1.4 對象實例化、定義變量 1.5 try-catch異常 2 快捷鍵 2.1 Ctrl系列 2.2 alt系列 2.2.1…

【Java從入門到頭禿專欄 6】語法篇(五) :多線程 線程池 可見、原子性 并發包 Lambda表達式

目錄 1 多線程 1.1 基本概念 1.2 創建線程的三種方式 1.4 解決線程安全問題的三種方法 1.5 線程通信 1.6 線程狀態 2 線程池 2.1線程池的概念 2.2 創建并提交任務 3 可見性 3.1 變量不可見性 3.2 變量不可見性的解決方案 4 原子性 4.1 原子性的概念 4.2 保證原…

【Java從入門到頭禿專欄 7】語法篇(六) :Lambda表達式(->) 方法引用(::) stream流

目錄 1 Lambda表達式( -> ) ? 2 方法引用( :: ) 3 Stream流 接下來介紹的三種語法叫:Lambda表達式 方法引用 stream流,這三種語法的使用要有特定條件,在一定條件下借助這三種語法可以使代碼十分簡單且優雅,但是不要舍本逐末…

【Java從入門到頭禿專欄 4】語法篇(三) :字符串 數組

目錄 1 String字符串 2 數組 1 String字符串 Java沒有內置的字符串類型,而是在Java類庫中提供了一個預定義類--String。 在Java中把每一個使用雙引號括起來的字符串都看做是String類的一個實例化對象。 String常被稱作是不可變字符串類型,那么有人就有…

【Java從入門到頭禿專欄 8】語法篇(七) :反射 動態代理 注解

目錄 1 反射機制 2 反射的應用:動態代理 3 注解 1 反射機制 反射機制(Reflect Machanism),是指在程序運行期間借助Reflect API獲取任何類的內部信息,并能直接操作對象的內部屬性以及方法,Java本身而言是靜態語言但是由于Java反…

【SSM面向CRUD編程專欄 1】Spring簡介 xml配置文件 依賴注入 數據注入

🛫更多ssm知識見SSM_面向CRUD編程專欄 🚕本博客總結自黑馬程序員的ssm框架視頻 🚒博主對于該知識尚在學習階段 🚄如果發現存在問題請毫不吝嗇的指出 🚀🚀扎哇太棗糕的博客主頁🚀🚀 目…