偷偷摘套内射激情视频,久久精品99国产国产精,中文字幕无线乱码人妻,中文在线中文a,性爽19p

Git 命令小抄,你學(xué)會(huì)了嗎?

系統(tǒng) 其他OS
Git 引入了暫存區(qū)(也稱索引)的概念,允許用戶通過選擇特定的改動(dòng)來(lái)準(zhǔn)備提交。與一次性提交所有改動(dòng)的系統(tǒng)相比,這一功能提供了對(duì)提交過程更精細(xì)的控制。

Git 是一個(gè)功能強(qiáng)大的版本控制系統(tǒng),允許開發(fā)人員跟蹤變更、與他人協(xié)作并有效管理項(xiàng)目歷史。

Git 由 Linus Torvalds 于 2005 年發(fā)明,用于支持 Linux 內(nèi)核的開發(fā)。創(chuàng)建 Git 的主要?jiǎng)訖C(jī)是解決現(xiàn)有版本控制系統(tǒng)(VCS)的不足,并提供一個(gè)更強(qiáng)大、更高效、更靈活的源代碼管理系統(tǒng)。

圖片圖片

01 Git 與其他版本控制工具的區(qū)別

  • 分布式架構(gòu)

集中式系統(tǒng)(如 CVS、Subversion)只有一個(gè)中央版本庫(kù),而 Git 則不同,它允許每個(gè)用戶都擁有一個(gè)完整的版本庫(kù)克隆。這種分散性意味著用戶可以離線工作,系統(tǒng)對(duì)服務(wù)器中斷也有很強(qiáng)的適應(yīng)能力。

  • 數(shù)據(jù)完整性和安全性

Git 使用內(nèi)容可尋址文件系統(tǒng)來(lái)存儲(chǔ)其對(duì)象,確保所有數(shù)據(jù)都經(jīng)過校驗(yàn)和處理,在不更改相應(yīng)標(biāo)識(shí)符的情況下無(wú)法更改。這種機(jī)制為防止數(shù)據(jù)損壞提供了強(qiáng)有力的保障。

  • 高效的分支和合并

Git 可以輕松創(chuàng)建、切換和合并分支。它的輕量級(jí)分支模型鼓勵(lì)在獨(dú)立分支中開發(fā)功能、修復(fù)和實(shí)驗(yàn)的工作流程。這與舊系統(tǒng)的分支和合并復(fù)雜且容易出錯(cuò)形成鮮明對(duì)比。

  • 速度

Git 的設(shè)計(jì)旨在快速執(zhí)行。涉及歷史記錄的操作(如日志、歸咎、差異)由于是在本地執(zhí)行,因此速度特別快。與需要通過網(wǎng)絡(luò)訪問才能進(jìn)行類似操作的舊版系統(tǒng)相比,這種速度是一項(xiàng)重大改進(jìn)。

  • 內(nèi)容跟蹤

Git 跟蹤的是內(nèi)容變化,而不僅僅是文件變化。這意味著即使文件被移動(dòng)或重命名,Git 仍能準(zhǔn)確跟蹤其歷史記錄。而其他一些 VCS 則無(wú)法做到這一點(diǎn),它們只能通過文件路徑來(lái)跟蹤文件。

  • Snapshots vs. Deltas

Git 的存儲(chǔ)模型基于給定時(shí)間點(diǎn)上整個(gè)版本庫(kù)的快照,而不是一系列文件的差異(deltas)。這種模式更容易理解任何給定提交時(shí)的版本庫(kù)狀態(tài),并簡(jiǎn)化了歷史記錄的表示。

  • Staging Area

Git 引入了暫存區(qū)(也稱索引)的概念,允許用戶通過選擇特定的改動(dòng)來(lái)準(zhǔn)備提交。與一次性提交所有改動(dòng)的系統(tǒng)相比,這一功能提供了對(duì)提交過程更精細(xì)的控制。

02 Git 基本命令

  • 初始化和克隆
git init: 在當(dāng)前目錄下初始化一個(gè)新的 Git 倉(cāng)庫(kù)。
git clone <repository_url>: 將遠(yuǎn)程服務(wù)器上的現(xiàn)有倉(cāng)庫(kù)克隆到本地計(jì)算機(jī)上。
  • 暫存和提交
git add <file>: 為下一次提交暫存指定文件中的更改。
git commit -m “<message>”: 提交暫存的改動(dòng),并附上描述性信息。
  • 分支
git branch <branch_name>: 用指定的名稱創(chuàng)建一個(gè)新分支。
git checkout <branch_name>: 切換到指定的分支。
git merge <branch_name>: 將指定的分支合并到當(dāng)前分支。
  • push 和 pull
git push: 將本地提交推送到遠(yuǎn)程倉(cāng)庫(kù)。
git pull: 從遠(yuǎn)程倉(cāng)庫(kù)抓取改動(dòng)并整合到當(dāng)前分支。

03 典型開發(fā)工作流程

  • 創(chuàng)建分支

首先為您正在開發(fā)的功能或錯(cuò)誤修復(fù)創(chuàng)建一個(gè)新分支。這樣就能將您的修改與主代碼庫(kù)(通常是主分支或主分支)分開。

git checkout -b feature/new-feature
  • 開發(fā)和提交修改

進(jìn)行修改并頻繁提交,同時(shí)附上有意義的信息。這有助于跟蹤歷史并了解變更的來(lái)龍去脈。

git add .
git commit -m "Add new feature implementation“
  • 合并改動(dòng)

功能完成并經(jīng)過測(cè)試后,將改動(dòng)合并回主分支。首先,切換到主分支,然后合并。

git checkout main
git merge feature/new-feature
  • 推送修改

把主分支推送到遠(yuǎn)程倉(cāng)庫(kù),與他人分享你的改動(dòng)。

git push origin main

04 沖突解決

當(dāng)文件中的同一行在不同分支中被改動(dòng),Git 無(wú)法自動(dòng)合并改動(dòng)時(shí),就會(huì)發(fā)生沖突。下面是解決沖突的方法:

  • 識(shí)別沖突

合并過程中發(fā)生沖突時(shí),Git 會(huì)在文件中標(biāo)記沖突區(qū)域。例如

<<<<<<< HEAD
這是原始內(nèi)容。
=======
這是來(lái)自另一個(gè)分支的新內(nèi)容。
>>>>>>> feature/new-feature
  • 解決沖突

手動(dòng)編輯文件以解決差異。選擇一個(gè)版本,合并它們,或根據(jù)需要重寫部分。

  • 將沖突標(biāo)記為已解決

解決沖突后,將更改分階段提交。

git add <文件
git commit -m "Resolve merge conflict"


責(zé)任編輯:武曉燕 來(lái)源: ByteByteGo
相關(guān)推薦

2023-10-30 07:05:31

2024-04-01 08:29:09

Git核心實(shí)例

2024-01-02 12:05:26

Java并發(fā)編程

2023-08-01 12:51:18

WebGPT機(jī)器學(xué)習(xí)模型

2024-01-19 08:25:38

死鎖Java通信

2023-07-26 13:11:21

ChatGPT平臺(tái)工具

2023-01-10 08:43:15

定義DDD架構(gòu)

2024-02-04 00:00:00

Effect數(shù)據(jù)組件

2024-03-06 08:28:16

設(shè)計(jì)模式Java

2022-12-06 07:53:33

MySQL索引B+樹

2023-05-05 06:54:07

MySQL數(shù)據(jù)查詢

2022-06-16 07:50:35

數(shù)據(jù)結(jié)構(gòu)鏈表

2023-06-26 13:08:52

GraphQL服務(wù)數(shù)據(jù)

2023-01-31 08:02:18

2023-08-26 21:34:28

Spring源碼自定義

2023-03-26 22:31:29

2022-07-13 08:16:49

RocketMQRPC日志

2023-07-30 22:29:51

BDDMockitoAssert測(cè)試

2023-10-06 14:49:21

SentinelHystrixtimeout

2024-02-02 11:03:11

React數(shù)據(jù)Ref
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)