自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

Git 命令小抄,你學會了嗎?

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

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

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

圖片圖片

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

  • 分布式架構(gòu)

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

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

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

  • 高效的分支和合并

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

  • 速度

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

  • 內(nèi)容跟蹤

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

  • Snapshots vs. Deltas

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

  • Staging Area

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

02 Git 基本命令

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

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

  • 創(chuàng)建分支

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

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

進行修改并頻繁提交,同時附上有意義的信息。這有助于跟蹤歷史并了解變更的來龍去脈。

git add .
git commit -m "Add new feature implementation“
  • 合并改動

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

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

把主分支推送到遠程倉庫,與他人分享你的改動。

git push origin main

04 沖突解決

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

  • 識別沖突

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

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

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

  • 將沖突標記為已解決

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

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


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

2023-10-30 07:05:31

2024-04-01 08:29:09

Git核心實例

2024-01-02 12:05:26

Java并發(fā)編程

2023-08-01 12:51:18

WebGPT機器學習模型

2023-01-10 08:43:15

定義DDD架構(gòu)

2024-02-04 00:00:00

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

2023-07-26 13:11:21

ChatGPT平臺工具

2024-01-19 08:25:38

死鎖Java通信

2022-06-16 07:50:35

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

2022-12-06 07:53:33

MySQL索引B+樹

2023-07-30 22:29:51

BDDMockitoAssert測試

2023-10-06 14:49:21

SentinelHystrixtimeout

2024-02-02 11:03:11

React數(shù)據(jù)Ref

2024-03-06 08:28:16

設(shè)計模式Java

2022-07-13 08:16:49

RocketMQRPC日志

2023-01-31 08:02:18

2023-05-05 06:54:07

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

2023-08-26 21:34:28

Spring源碼自定義

2023-06-26 13:08:52

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

2023-03-26 22:31:29

點贊
收藏

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