git【工具軟件】分布式版本控制工具軟件

一、Git 的介紹

git軟件的作用:管理軟件開發項目中的源代碼文件。

常用功能:

倉庫管理、文件管理、分支管理、標簽管理、遠程操作

功能指令:

add,commit,log,branch,tag,remote,status

1.1 SCM:

軟件配置管理(Software Configuration Management )

SCM 是指通過執行版本控制、變更控制的規程,以及使用合適的配置管理軟件,來保證所有配置項的完整性和可跟蹤性。

配置管理是對工作成果的一種有效保護。

1.2 SCM 軟件:

需要中央服務器:

  • Visual Source Safe:美國微軟公司出品的版本控制系統,簡稱 VSS,集中式版本控制系統。
    • 不適合復雜的多人協同開發,軟件收費
  • Concurrent Versions System:老牌的版本控制系統,它是基于客戶端 / 服務器的行為使得其可容納多用戶,構成網絡也很方便,簡稱 CVS
    • 支持多人合作,協同開發,但是存在軟件編碼問題
  • Subversion:CVS 的升級版本,開放源代碼的版本控制系統,實現共享資源,實現最終集中式的管理

分布式版本控制:

  • Git:開源的分布式版本控制系統,可以有效、高速地處理從很小到非常大的項目版本管理。也是 Linus Torvalds 為了幫助管理 Linux 內核開發而開發的一個開放源碼的版本控制軟件。

版本控制:

集中式版本控制

分布式版本控制

多人協作開發

版本的作用:

保存重要的歷史記錄

恢復數據

二、Git 概念

1.1 版本控制軟件的基礎功能

1.保存和管理軟件

2.提供客戶端工具進行訪問

3.提供不同版本文件的比對功能

1.2 集中式版本控制

會出現的問題:文件沖突問題 ——》解決方式:加鎖

1.3 分布式版本控制

三、Git 的深入了解

git 官網:https://git-scm.com/

Git 的版本號是:40個16進制的數字組成的版本號(提交碼)

3.1 Git 分支原理:

3.2 Git 中的一些信息

版本號:Git 軟件根據 SHA-1 算法來獲得的,長度是40位

? ? ? ? 可以避免沖突

? ? ? ? 可以定位倉庫中的文件:2(文件夾)+ 38(文件名)

?

3.3 git 的一些相關指令:

1. 查看當前 git 的版本:git -v

2. 在當前目錄創建我們的倉庫:git init

3. 用工具來創建倉庫:

4. 克隆遠程倉庫的內容:git clone 克隆網址

5. 克隆遠程倉庫的內容并自定義名稱:git clone 克隆網址 新名字

6. 查看暫存區狀態:git status

7. 將工作區的文件加到暫存區做比對操作:git add 文件名

8. 將暫存區的文件移動到工作區:git rm --cached 文件名

9. 將暫存區文件提交到存儲區域:git commit -m 提交信息

10. 查看日志信息:git log

查看日志信息,并以一行進行展示:git log --oneline

11. 把誤刪除的文件恢復到工作區:git restore 文件名

從歷史記錄(日志)中恢復【可能會丟失提交過程】:git reset --hard 版本號

12. 把版本庫還原到這個版本之前:git revert 版本號

13. 增加分支 (在倉庫中有提交后才可以):git branch 分支名

查看分支個數:git branch -v

切換分支:git checkout 分支名

創建分支并切換過去:git checkout -b 分支名

刪除分支:git branch -d 分支名

14. 分支的合并和沖突:

合并分支中的內容:git merge 分支名

15. tag 標簽操作:

給版本添加標簽(但是標簽不能重復 ):git tag 標簽名 版本號

查看標簽:git tag?

刪除標簽:git tag -d 標簽名

16. 遠程倉庫操作:

SSH 地址需要提供安全認證規則。

17. 自己搭建代碼托管平臺:

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

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

相關文章

Ubuntu Linux LTS 24.04 AMD64 桌面版安裝記錄

下載iso aria2c -x 4 -s 12 "https://mirrors.tuna.tsinghua.edu.cn/ubuntu-releases/24.04/ubuntu-24.04-desktop-amd64.iso" "https://mirrors.163.com/ubuntu-releases/24.04/ubuntu-24.04-desktop-amd64.iso" "https://mirrors.zju.edu.cn/ubuntu…

[pyradiomics][python]pyradiomics所有whl文件下載地址匯總

源碼地址:https://github.com/AIM-Harvard/pyradiomics pyradiomics是一個開源的Python軟件包,專門用于從醫學影像中提取高通量的定量特征,這些特征被稱為影像組學(Radiomics)特征。以下是關于pyradiomics的詳細介紹: 一、基本概…

華為端云一體化開發 (起步1.0)(HarmonyOS學習第七課)

官方文獻: 為豐富HarmonyOS對云端開發的支持、實現端云聯動,DevEco Studio推出了云開發功能,開發者在創建工程時選擇云開發模板,即可在DevEco Studio內同時完成HarmonyOS應用/元服務的端側與云側開發,體驗端云一體化協…

大數據面試題第二期*6

題1、Namenode掛了怎么辦? 方法一:將SecondaryNameNode中數據拷貝到namenode存儲數據的目錄。 方法二:使用importCheckpoint選項啟動namenode守護進程,從而將SecondaryNameNode中數據拷貝到namenode目錄中。 題2、Hadoop 的namenode 宕機怎么…

論文代碼解讀STPGNN

1.前言 本次代碼文章來自于《2024-AAAI-Spatio-Temporal Pivotal Graph Neural Networks for Traffic Flow Forecasting》,基本模型結構如下圖所示: 文章講解視頻鏈接 代碼開源鏈接 接下來就開始代碼解讀了。 2.代碼解讀 class nconv(nn.Module):de…

NDIS Filter開發-網絡數據的傳輸

和NIC小端口驅動不同的是,無需考慮網絡數據具體是如何傳輸的,只需要針對NBL進行處理即可。Filter驅動程序可以啟動發送請求和接收指示,或“過濾”其他驅動程序的請求和指示。Filter模塊堆疊在微型端口適配器上。 驅動程序堆棧中的Filter模塊…

谷粒商城實戰(033 業務-秒殺功能4-高并發問題解決方案sentinel 1)

Java項目《谷粒商城》架構師級Java項目實戰,對標阿里P6-P7,全網最強 總時長 104:45:00 共408P 此文章包含第326p-第p331的內容 關注的問題 sentinel(哨兵) sentinel來實現熔斷、降級、限流等操作 騰訊開源的tendis&#xff0c…

ctfshow web

【nl】難了 <?php show_source(__FILE__); error_reporting(0); if(strlen($_GET[1])<4){echo shell_exec($_GET[1]); } else{echo "hack!!!"; } ?> //by Firebasky //by Firebasky ?1>nl //先寫個文件 ?1*>b //這樣子會把所有文件名寫在b里…

JSON 無法序列化

JSON 無法序列化通常出現在嘗試將某些類型的數據轉換為 JSON 字符串時&#xff0c;這些數據類型可能包含不可序列化的內容。 JSON 序列化器通常無法處理特定類型的數據&#xff0c;例如日期時間對象、自定義類實例等。在將數據轉換為 JSON 字符串之前&#xff0c;確保所有數據都…

clickhouse學習筆記(三)常見表引擎

目錄 一、 MergeTree系列引擎 1、MergeTree 數據TTL &#xff08;1&#xff09; 列級別 TTL &#xff08;2&#xff09; 表級別 TTL 存儲策略 2、ReplacingMergeTree 3、CollapsingMergeTree 4、VersionedCollapsingMergeTree 5、SummingMergeTree 6、AggregatingMe…

「動態規劃」如何求地下城游戲中,最低初始健康點數是多少?

174. 地下城游戲https://leetcode.cn/problems/dungeon-game/description/ 惡魔們抓住了公主并將她關在了地下城dungeon的右下角。地下城是由m x n個房間組成的二維網格。我們英勇的騎士最初被安置在左上角的房間里&#xff0c;他必須穿過地下城并通過對抗惡魔來拯救公主。騎士…

【Text2SQL 論文】C3:使用 ChatGPT 實現 zero-shot Text2SQL

論文&#xff1a;C3: Zero-shot Text-to-SQL with ChatGPT ???? arXiv:2307.07306&#xff0c;浙大 Code&#xff1a;C3SQL | GitHub 一、論文速讀 使用 ChatGPT 來解決 Text2SQL 任務時&#xff0c;few-shots ICL 的 setting 需要輸入大量的 tokens&#xff0c;這有點昂貴…

基于GLM生成SQL,基于MOSS生成SQL,其中什么是GLM 什么是MOSS

GLM 和 MOSS 是兩種不同的模型或系統&#xff0c;通常用在自然語言處理 (NLP) 和生成任務中&#xff0c;如生成 SQL 查詢。讓我們逐個解釋它們的含義和用途&#xff1a; GLM (Generalized Language Model) GLM 是一種通用語言模型&#xff0c;設計用于處理和生成自然語言。以…

MacOS M系列芯片一鍵配置多個不同版本的JDK

第一步&#xff1a;下載JDK。 官網下載地址&#xff1a;Java Archive | Oracle 選擇自己想要下載的版本&#xff0c;一般來說下載一個jdk8和一個jdk11就夠用了。 M系列芯片選擇這兩個&#xff0c;第一個是壓縮包&#xff0c;第二個是dmg可以安裝的。 第二步&#xff1a;編輯…

eclipse插件開發(二)RCP第三方庫的引入方式

RCP第三方庫的引入 最近在RCP開發過程中遇到JSON串與對象互轉的問題&#xff0c;如何像spring開發模式一樣引入第三方庫呢&#xff1f;eclipse插件開發中用到p2庫&#xff0c;但也支持maven庫的引入。關鍵在于.target這個關鍵文件。 .target 文件用于定義一個目標平臺&#x…

民主測評要做些什么?

民主測評&#xff0c;作為一種重要的民主管理工具&#xff0c;旨在通過廣泛征求群眾意見&#xff0c;對特定對象或事項進行客觀、公正的評價。它不僅是推動民主參與、民主監督的重要手段&#xff0c;也是提升治理效能、促進社會和諧的有效途徑。以下將詳細介紹民主測評的主要過…

常見的布局方法及優缺點

頁面布局常用的方法有浮動、定位、flex、grid網格布局、柵格系統布局 浮動&#xff1a; 優點&#xff1a;兼容性好。 缺點&#xff1a;浮動會脫離標準文檔流&#xff0c;因此要清除浮動。我們解決好這個問題即可。 絕對定位 優點&#xff1a;快捷。 缺點&#xff1a;導致子…

如何以非交互方式將參數傳遞給交互式腳本

文章目錄 問題回答1. 使用 Here Document2. 使用 echo 管道傳遞3. 使用文件描述符4. 使用 expect 工具 參考 問題 我有一個 Bash 腳本&#xff0c;它使用 read 命令以交互方式讀取命令參數&#xff0c;例如 yes/no 選項。是否有一種方法可以在非交互式腳本中調用這個腳本&…

vue用vite配置代理解決跨域問題(target、rewrite和changeOrigin的使用場景)

Vite的target、rewrite和changeOrigin的使用場景 1. target 使用場景&#xff1a;target 屬性在 Vite 的 vite.config.ts 或 vite.config.js 文件的 server.proxy 配置中指定&#xff0c;用于設置代理服務器應該將請求轉發到的目標地址。這通常是一個后端服務的API接口地址。…

Chrome 源碼閱讀:跟蹤一個鼠標事件的流程

我們通過在關鍵節點打斷點的方式&#xff0c;去分析一個鼠標事件的流程。 我們知道chromium是多進程模型&#xff0c;那么&#xff0c;我們可以推測&#xff1a;一個鼠標消息先從主進程產生&#xff0c;再通過跨進程通信發送給渲染進程&#xff0c;渲染進程再發送給WebFrame&a…