Git

Git簡介

Git 是一個分布式版本控制工具,通常用來對軟件開發過程中的源代碼文件進行管理。通過Git 倉庫來存儲和管理這些文件,Git 倉庫分為兩種:

  • 本地倉庫:開發人員自己電腦上的 Git倉庫。
  • 遠程倉庫:遠程服務器上的 Git 倉庫。

commit: 提交, 將本地文件和版本信息保存到本地倉庫。

push: 推送, 將本地倉庫文件和版本信息上傳到遠程倉庫。

pull: 拉取, 將遠程倉庫文件和版本信息下載到本地倉庫。

?

當安裝Git后首先要做到事情是設置用戶名稱和email地址, 這是非常重要的, 因為每次Git提交都會使用該用戶的信息。

打開Git命令行執行下面命令:?

  • 設置用戶信息

????????git config? --global user.name "itcast"(設置用戶名)

????????git config --global user.email "itcast@itcast.cn"(設置email地址)

  • 查看配置信息

????????git config --list

上面設置的user.name和user.email并不是我們在注冊碼云賬號時使用的用戶名和郵箱, 此處可以任意設置。

獲取Git倉庫

本地倉庫初始化

?執行步驟如下:

  1. 在任意目錄下創建一個空目錄(例如repo1)作為我們的本地Git倉庫。
  2. 進入這個目錄中,點擊右鍵打開Git bash窗口。
  3. 執行命令 git init

如果在當前目錄中看到.git文件夾(此文件夾為隱藏文件夾)則說明Git倉庫創建成功。

本地克隆遠程倉庫

可以通過Git提供的命令從遠程倉庫進行克隆,將遠程倉庫克隆到本地。

命令形式:?git clone 【遠程Git倉庫地址】

基本概念

版本庫: 前面看到的.git隱藏文件夾就是版本庫,版本庫中存儲了很多配置信息、日志信息和文件版本信息等。

工作區: 包含.git文件夾的目錄就是工作區,也稱為工作目錄,主要用于存放開發的代碼。(.git所在文件夾以及其同級文件夾就是工作區)

暫存區: .git文件夾中有很多文件,其中有一個index文件就是暫存區,也可以叫做stage。暫存區是一個臨時保存修改文件的地方。

工作區文件狀態

查看git文件狀態

git status?

Git工作區中的文件存在兩種狀態:

untracked 未跟蹤(未被納入版本控制)

tracked 已跟蹤(被納入版本控制)

????????Unmodified 未修改狀態

????????Modified 已修改狀態

????????staged 已暫存狀態

注意:這些文件的狀態會隨著我們執行Git的命令發生變化

本地倉庫操作

本地倉庫常用命令如下:?

  • git status????????????????????????????????查看文件狀態
  • git add? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 將文件的修改加入暫存區
  • git reset? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 將暫存區的文件取消暫存或者是切換到指定版本
  • git commit? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?將暫存區的文件修改提交到版本庫
  • git log? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ??查看日志

遠程倉庫操作

前面執行的命令操作都是針對的本地倉庫,本節我們會學習關于遠程倉庫的一些操作,具體包括:

  • git remote? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?查看遠程倉庫
  • git remote add <遠程倉庫別名>? ?<url>? ? ? ? ? ? ? ? ? ? 添加遠程倉庫
  • git clone? ?<url>? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?從遠程倉庫克隆
  • git pull?<遠程倉庫別名> <遠程分支名> ? ?? ? ? ? ? ? ? ? ?從遠程倉庫拉取
  • git push? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?推送到遠程倉庫
# 查看遠程倉庫的詳細信息(包括URL)
git remote -v

分支操作

分支是Git 使用過程中非常重要的概念。使用分支意味著你可以把你的工作從開發主線上分離開來,以免影響開發主線。同一個倉庫可以有多個分支,各個分支相互獨立,互不干擾。

通過git init 命令創建本地倉庫時默認會創建一個master分支。

本節我們會學習關于分支的相關命令,具體如下:

#查看分支

git branch

#創建分支

git branch 「name]

#切換分支

git checkout 「name]

#推送至遠程倉庫分支

git push[shortName][name]

#合并分支

git merge name

#刪除分支

git branch -d [mme]

標簽操作

Git 中的標簽,指的是某個分支某個特定時間點的狀態。通過標簽,可以很方便的切換到標記時的狀態。比較有代表性的是人們會使用這個功能來標記發布結點(v1.8、v1.2等)。

#列出已有的標簽

git tag

#創建標簽

git tag [name]

#將標簽推送至遠程倉庫

git push [shortName] [name]

#檢出標簽

git checkout -b [branch] [name]

?IDEA集成操作

配置本地倉庫: 點創建Git倉庫之后選擇Git倉庫地址

拉取, 提交, 推送操作?

連接遠程倉庫: 點管理遠程,之后添加遠程倉庫(填地址)

??

分支操作: 新建分支

?沖突解決

兩個用戶對同一個文件的同一行代碼進行操作時提交就會出現沖突, 先提交的沒問題, 后提交就會沖突, 此時雙擊文件就能看到三個版本的代碼, 最左邊是后提交的代碼, 中間是最初的代碼, 右邊是先提交的代碼沖突的代碼會被標注點雙箭頭是使用對應代碼另一個點×就是忽略另一個版本的代碼最后點Apply就行

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

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

相關文章

通信算法之294:LTE系統中的整數倍頻偏估計

在LTE系統中&#xff0c;整數倍頻偏估計主要通過以下方法實現&#xff1a;一、最大似然估計法&#xff08;ML&#xff09;通過遍歷預設的整數倍頻偏范圍&#xff08;如30kHz&#xff09;&#xff0c;將接收信號與本地的PSS序列在不同頻偏點上進行相關運算&#xff0c;選擇相關峰…

數字人直播:開啟直播行業新紀元?

?原始尺寸更換圖片p9-flow-imagex-sign.byteimg.com??在科技日新月異的當下&#xff0c;直播行業正經歷著一場深刻變革&#xff0c;數字人直播的興起&#xff0c;宛如一顆璀璨新星&#xff0c;照亮了直播領域的新征程。數字人直播&#xff0c;是利用先進的人工智能技術&…

朝鮮升級供應鏈惡意軟件XORIndex,再次瞄準npm生態系統

Socket威脅研究團隊最新披露&#xff0c;朝鮮國家支持的黑客組織在"傳染性面試"攻擊活動中采用了新型惡意軟件加載器XORIndex&#xff0c;該惡意程序專門通過npm軟件包注冊表滲透軟件供應鏈。攻擊規模與持續性此次攻擊并非孤立事件&#xff0c;而是針對開發者、求職者…

Windows 下 VS2019 編譯 libevent-2.1.10 庫

1. 你需要VS2019 編譯好openssl-1.1.1 &#xff0c;這個具體編譯或者下載可以參考我的博客openssl生成的庫是這兩個文件接下來&#xff0c;打開CMake &#xff0c;主要是下面的需要設置好最后Config Generate即可&#xff1b;全部成功生成 22個然后INSTALL右鍵生成 最后看下生…

Vim多列操作指南

我們在使用 Vim 時&#xff0c;經常需要同時編輯多個文件&#xff0c;或者同一個文件的不同部分。Vim 提供了分割窗口&#xff08;split&#xff09;和垂直分割窗口&#xff08;vsplit&#xff09;的功能&#xff0c;允許我們在同一個 Vim 會話中查看多個緩沖區&#xff08;buf…

Python網絡爬蟲實現selenium對百度識圖二次開發以及批量保存Excel

一.百度識圖自動上傳圖片from selenium import webdriver from selenium.webdriver.edge.options import Options from selenium.webdriver.common.by import By edge_options Options() edge_options.binary_location r"C:\Program Files (x86)\Microsoft\Edge\Applica…

Vue中的refs字段使用記錄

這段代碼是 Vue.js 中結合 Element UI 等 UI 庫的典型表單驗證寫法&#xff0c;具體含義如下&#xff1a;代碼拆解 this.$refs.fromData.validate((valid) > {// 驗證后的回調邏輯 })this.$refs.fromData $refs 是 Vue 提供的特殊屬性&#xff0c;用于訪問模板中通過 ref&qu…

多方案對比分析:后端數據加密策略及實踐

多方案對比分析&#xff1a;后端數據加密策略及實踐 隨著互聯網業務對用戶隱私和數據安全的要求不斷提升&#xff0c;后端系統中對敏感數據的加密保護已成為必備需求。從對稱加密、非對稱加密到數據庫透明加密、應用層字段加密&#xff0c;各種方案各有特點。本文將以方案對比分…

《Java語言程序設計》1.4 復習題

1.4.1 什么是操作系統?列出一些流行的操作系統?操作系統(Operating System)是運行在計算機上的最重要的程序。操作系統管理和控制計算機的活動。通用計算機的流行操作系統有Microsoft Windows、Mac OS以及Linux。如果沒有在計算機上安裝和運行操作系統&#xff0c;像Web瀏覽器…

OpenCV圖像自動縮放(Autoscaling)函數autoscaling()

操作系統&#xff1a;ubuntu22.04 OpenCV版本&#xff1a;OpenCV4.9 IDE:Visual Studio Code 編程語言&#xff1a;C11 算法描述 該函數用于對輸入圖像進行自動縮放&#xff08;Autoscaling&#xff09;&#xff0c;即根據輸入圖像的像素值范圍將其線性映射到一個新的范圍內&am…

多線程的認識

競爭與協作在單核 CPU 系統里&#xff0c;為了實現多個程序同時運行的假象&#xff0c;操作系統通常以時間片調度的方式&#xff0c;讓每個進程執行每次執行一個時間片&#xff0c;時間片用完了&#xff0c;就切換下一個進程運行&#xff0c;由于這個時間片的時間很短&#xff…

SpringCloud相關總結

SpringCloud相關總結 1. 權威文檔推薦&#xff1a; 官方文檔&#xff1a;https://spring.io/cloud 玩的時候&#xff0c;注意SpringBoot與SpringCloud的版本兼容問題,推薦參考&#xff1a;https://github.com/alibaba/spring-cloud-alibaba/wiki/%E7%89%88%E6%9C%AC%E8%AF%B4%…

NW983NW988美光固態閃存NW991NW992

美光NW系列固態閃存深度解析&#xff1a;技術、對比與應用指南一、技術根基與架構創新美光NW系列固態閃存的技術突破源于其先進的G9 NAND架構&#xff0c;該架構采用5納米制程工藝和多層3D堆疊技術&#xff0c;在單位面積內實現了高達256層的存儲單元堆疊&#xff0c;存儲密度較…

pytest + requests 接口自動化測試框架

??親愛的技術愛好者們,熱烈歡迎來到 Kant2048 的博客!我是 Thomas Kant,很開心能在CSDN上與你們相遇~?? 本博客的精華專欄: 【自動化測試】 【測試經驗】 【人工智能】 【Python】 使用 pytest + req

Android性能優化之網絡優化

一、網絡性能瓶頸深度解析 1. 網絡請求全鏈路耗時分析 #mermaid-svg-3cXlC9wERu99EHQH {font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}#mermaid-svg-3cXlC9wERu99EHQH .error-icon{fill:#552222;}#mermaid-svg-3cXlC9wERu99EHQH …

實現庫存顯示和狀態按鈕的Question

首先實現顯示圖書庫存 1 if條件標簽里的test""要和實體類的屬性名保持一致 否則會報找不到get方法的錯誤org.apache.ibatis.reflection.ReflectionException: There is no getter for property named stock in class2后端已經把bookStock傳到前端了&#xff0c;但是顯…

vue + Cesium 實現 3D 地圖水面效果詳解

一、引言Cesium 是一個強大的開源 JavaScript 庫&#xff0c;用于創建基于 Web 的 3D 地理信息系統 (GIS) 應用程序。它提供了豐富的 API&#xff0c;可以實現各種復雜的地理可視化效果&#xff0c;包括地形渲染、建筑物建模、矢量數據顯示等。本文將詳細介紹如何使用 Cesium 實…

統信 UOS 運行 Windows 應用新利器!彩虹虛擬化軟件 V3.2 全新上線,限時30天免費體驗

原文鏈接&#xff1a;統信 UOS 運行 Windows 應用新利器&#xff01;彩虹虛擬化軟件 V3.2 全新上線&#xff0c;限時30天免費體驗 在國產操作系統逐漸普及的今天&#xff0c;許多用戶仍面臨一個實際問題——一些辦公軟件或行業工具仍然僅支持 Windows 系統。對于已全面部署統信…

Vue中使用vue-3d-model實現加載3D模型預覽展示

場景 要實現在頁面中簡單快速的加載3D模型用于產品展示。 實現效果如下&#xff1a; 注&#xff1a; 博客&#xff1a; 霸道流氓氣質-CSDN博客 實現 3D模型技術方案對比 這里用于快速展示簡單3d模型。 3D模型文件下載 可下載的網站較多&#xff0c;比如&#xff1a; Sk…

GaussDB join 連接的用法

1 join 連接的作用join 連接用于把來自兩個或多個表的行結合起來&#xff0c;基于這些表之間的共同字段。 最常見的 join 類型&#xff1a;inner join&#xff08;簡單的 join&#xff09;。 inner join 從多個表中返回滿足 join條件的所有行。2 示例數據讓我們看看選自 "…