【面向就業的Linux基礎】從入門到熟練,探索Linux的秘密(九)-git(1)

Git是一個版本管理控制系統(縮寫VCS),它可以在任何時間點,將文檔的狀態作為更新記錄保存起來,也可以在任何時間點,將更新記錄恢復回來。

文章目錄

前言

一、git是什么

二、git基本概念

三、git基本命令

總結


前言

Git是一個版本管理控制系統(縮寫VCS),它可以在任何時間點,將文檔的狀態作為更新記錄保存起來,也可以在任何時間點,將更新記錄恢復回來。


提示:以下是本篇文章正文內容,下面案例可供參考

一、git是什么

Git是一個版本管理控制系統(縮寫VCS),它可以在任何時間點,將文檔的狀態作為更新記錄保存起來,也可以在任何時間點,將更新記錄恢復回來。

在開發中,Git已成為現在主流的一種代碼托管技術(版本管理工具),基本上大多數的公司都在使用Git進行協同開發。很多代碼托管平臺也是基于Git來實現的。

Git特點
優點:

  • 適合分布式開發,強調個體;
  • 公共服務器壓力和數據量都不會太大;
  • 速度快、靈活;
  • 任意兩個開發者之間可以很容易的解決沖突;
  • 離線工作。

缺點:

  • 代碼保密性差,一旦開發者把整個庫克隆下來就可以完全公開所有代碼和版本信息;
  • 權限控制不友好;如果需要對開發者限制各種權限的建議使用SVN。
  • Git與SVN的區別
  • SVN是集中式版本控制系統,而Git是分布式版本控制系統,Git與SVN的區別可參考Git與SVN的區別。。

二、git基本概念

  • 工作區:倉庫的目錄。工作區是獨立于各個分支的。
  • 暫存區:數據暫時存放的區域,類似于工作區寫入版本庫前的緩存區。暫存區是獨立于各個分支的。
  • 版本庫:存放所有已經提交到本地倉庫的代碼版本
  • 版本結構:樹結構,樹中每個節點代表一個代碼版本。

三、git基本命令

?設置全局用戶名,信息記錄在~/.gitconfig文件中

git config --global user.name xxx

?設置全局郵箱地址,信息記錄在~/.gitconfig文件中

git config --global user.email xxx@xxx.com

?將當前目錄配置成git倉庫,信息記錄在隱藏的.git文件夾中

git init


?查看倉庫狀態

git status

當我們在當前目錄下創建一個新文件,查看倉庫狀態會提示我們新創建的文件沒有添加到倉庫的暫存區中!!


?將XX文件添加到暫存區

git add XX

將所有待加入暫存區的文件加入暫存區

git add .


?將暫存區的內容提交到當前分支

git commit -m "給自己看的備注信息"


?當文件被修改后

再將它添加到暫存區中?


?查看XX文件相對于暫存區修改了哪些內容

git diff XX

(注:如果修改后的文件已被添加到暫存區就查看不出來修改的區別!!)


將文件從倉庫索引目錄中刪掉:

git rm --cached XX


查看當前分支的所有版本

git log

?

一行展示 :

git log --pretty=oneline


將代碼庫回滾到上一個版本:

git reset --hard HEAD^ 或 git reset --hard HEAD~
  • ?往上回滾兩次,以此類推:
git reset --hard HEAD^^
  • 往上回滾100個版本:
git reset --hard HEAD~100
  • ?回滾到某一特定版本
git reset --hard 版本號


查看HEAD指針的移動歷史(包括被回滾的版本)

git reflog


?將XX文件尚未加入暫存區的修改全部撤銷

git checkout — XX或git restore XX

?

?

?


作用是將暫存區的文件從暫存區撤出,但不會更改文件

git restore --staged xxx

?當我們新創建一個文件:

添加到暫存區

?

修改另一個read.txt文件后,存入暫存區,并提交。


?我們也可以修改兩個文件,只添加一個文件并提交。


?我們新創建兩個文件a.txt和b.txt,然后都將它們添加到暫存區中。

并 提交到版本庫。


當我們把a.txt和b.txt兩個文件刪除后

?我們也可以把刪除a.txt和b.txt這個操作也添加進暫存區,并提交到版本庫進行持久化

?此時,我們可以通過git restore --staged xxx將從工作區存入暫存區的操作撤銷,然后再通過git restore xxx將xxx在工作區進行的操作進行撤銷。

此時,我們刪除的a.txt文件就又被我們找回來了。


總結

Git是一個版本管理控制系統(縮寫VCS),它可以在任何時間點,將文檔的狀態作為更新記錄保存起來,也可以在任何時間點,將更新記錄恢復回來。

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

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

相關文章

電商項目中分與元金額單位互轉實戰

在Java開發中,可能遇到金額單位的轉換,比如本系統用分作為金額的基本單位,對方系統用元作為金額的基本單位,這就需要進行單位轉換,記錄下來,方便備查。 一、分轉元 分轉元,分到元相差兩位&…

PHP源碼:新聞門戶系統(附管理后臺+前臺)

一. 前言 今天小編給大家帶來了一款可學習,可商用的,新聞門戶系統 源碼,支持二開,無加密。項目可以擴展為個人博客,和一些社交論壇網址。主要功能:支持文章管理,評論管理,分類管理等…

Kotlin linkedMapOf filterKeys

Kotlin linkedMapOf filterKeys fun main(args: Array<String>) {val lhm linkedMapOf<String, Any>(Pair("name", "phil"), //因為key相同都為 name&#xff0c;被后面的覆蓋。Pair("year", 2024),Pair("name", "f…

大語言模型的應用探索AI Agent初探!

前言 大語言模型的應用之一是與大語言模型進行聊天也就是一個ChatBot&#xff0c;這個應用已經很廣泛了。 接下來的一個應用就是AI Agent。 AI Agent是人工智能代理&#xff08;Artificial Intelligence Agent&#xff09;的概念&#xff0c;它是一種能夠感知環境、進行決策…

消防認證-防火窗

一、消防認證 消防認證是指消防產品符合國家相關技術要求和標準&#xff0c;且通過了國家認證認可監督管理委員會審批&#xff0c;獲得消防認證資質的認證機構頒發的證書&#xff0c;消防產品具有完好的防火功能&#xff0c;是住房和城鄉建設領域驗收的重要指標。 二、認證依據…

GEE代碼實例教程詳解:NDVI時間序列趨勢分析

簡介 在本篇博客中&#xff0c;我們將使用Google Earth Engine (GEE) 對MODIS NDVI數據進行時間序列趨勢分析。通過分析2001年至2021年的NDVI數據&#xff0c;我們可以了解植被覆蓋度隨時間的變化趨勢。 背景知識 MODIS數據集 MODIS&#xff08;Moderate Resolution Imagin…

Websocket在Java中的實踐——整合Rabbitmq和STOMP

大綱 Rabbitmq開啟STOMP支持 服務端依賴參數參數映射類配置類邏輯處理類 測試測試頁面Controller測試案例 在《Websocket在Java中的實踐——STOMP通信的最小Demo》一文中&#xff0c;我們使用enableSimpleBroker啟用一個內置的內存級消息代理。本文我們將使用Rabbitmq作為消息代…

【Unity2D 2022:Particle System】添加拾取粒子特效

一、創建粒子特效游戲物體 二、修改粒子系統屬性 1. 基礎屬性 &#xff08;1&#xff09;修改發射粒子持續時間&#xff08;Duration&#xff09;為3s &#xff08;2&#xff09;取消勾選循環&#xff08;Looping&#xff09; &#xff08;2&#xff09;修改粒子存在時間&…

SQL性能優化策略

發現問題 通過業務監控發現慢SQL或接口響應延遲。利用性能分析工具定位問題。 定位SQL語句 使用監控工具確定影響性能的SQL語句和表。 SQL查詢變慢原因 索引失效&#xff1a;查詢未使用索引或索引效率低。多表連接&#xff1a;JOIN操作導致性能下降。查詢字段過多&#xf…

Monitor結構解讀之EntryQ和WaitSet的區別

EntryQ&#xff08;或_EntryList&#xff09;和WaitSet&#xff08;或_WaitSet&#xff09;在Java的monitor機制中扮演著不同的角色&#xff0c;它們之間的主要區別體現在以下幾個方面&#xff1a; 1. 等待原因和機制 EntryQ&#xff08;或_EntryList&#xff09;&#xff1a…

面試常考題---128陷阱(詳細)

1.問題引入 分別引入了int和Integer變量&#xff0c;并進行比較 int b 128; int b1 128;Integer d 127; Integer d1 127;Integer e 128; Integer e1 128;System.out.println(bb1); System.out.println(dd1); System.out.println(ee1); System.out.println(e.equals(e1)…

刷題(day01)

1、leetcode485.最大連續1的個數 給定一個二進制數組 nums &#xff0c; 計算其中最大連續 1 的個數。 示例 1&#xff1a; 輸入&#xff1a;nums [1,1,0,1,1,1] 輸出&#xff1a;3 解釋&#xff1a;開頭的兩位和最后的三位都是連續 1 &#xff0c;所以最大連續 1 的個數是 3.…

Nginx 高效加速策略:動靜分離與緩存詳解

在現代Web開發中&#xff0c;網站性能是衡量用戶體驗的關鍵指標之一。Nginx&#xff0c;以其出色的性能和靈活性&#xff0c;成為眾多網站架構中不可或缺的一部分。本文將深度解析如何利用Nginx實現動靜分離與緩存&#xff0c;從而大幅提升網站加載速度和響應效率。 理解動靜分…

昇思第18天打卡|ShuffleNet圖像分類

ShuffleNet網絡介紹 ShuffleNetV1是曠視科技提出的一種計算高效的CNN模型&#xff0c;和MobileNet, SqueezeNet等一樣主要應用在移動端&#xff0c;所以模型的設計目標就是利用有限的計算資源來達到最好的模型精度。ShuffleNetV1的設計核心是引入了兩種操作&#xff1a;Pointw…

張大哥筆記:你一旦開竅,就會發現遍地都是錢

大家有沒有發現&#xff0c;窮人總是追逐眼前的利益&#xff0c;總是在追著錢跑&#xff0c;卻總是賺不到錢。而富人有著長遠的見識&#xff0c;追著問題跑&#xff0c;最后卻賺的盆滿缽滿。 我們聽過這樣一句話&#xff0c;錢不是賺來的&#xff0c;而是幫助別人解決問題后給你…

【計算機】同步/異步

同步/異步 在計算機科學和編程中&#xff0c;“同步”&#xff08;Synchronization&#xff09;是一種機制&#xff0c;用于協調不同進程或線程之間的操作&#xff0c;以避免競態條件&#xff08;race conditions&#xff09;、死鎖&#xff08;deadlocks&#xff09;和其他并…

Qt/C++編寫地圖應用/離線地圖下載/路徑規劃/軌跡回放/海量點/坐標轉換

一、前言說明 這個地圖組件寫了很多年了&#xff0c;最初設計的比較粗糙&#xff0c;最開始只是為了滿足項目需要&#xff0c;并沒有考慮太多拓展性&#xff0c;比如最初都是按照百度地圖寫死在代碼中&#xff0c;經過這幾年大量的現場實際應用&#xff0c;以及大量的用戶提出…

Django 新增數據 save()方法

1&#xff0c;添加模型 Test/app11/models.py from django.db import modelsclass Book(models.Model):title models.CharField(max_length100)author models.CharField(max_length100)publication_date models.DateField()price models.DecimalField(max_digits5, decim…