深入了解Linux —— git三板斧

版本控制器git

為了我們方便管理不同版本的文件,就有了版本控制器;

所謂的版本控制器,就是能夠了解到一個文件的歷史記錄(修改記錄);簡單來說就是記錄每一次的改動和版本迭代的一個管理系統,同時也方了多人進行協作。

當前應用最廣泛的版本控制器就是gitgit可以控制電腦上所有格式的文件。

之前我們在windows下使用git來管理自己的本地文件,并上傳至gitee

git簡史

? 同生活中的許多偉大事物一樣,Git 誕生于一個極富紛爭大舉創新的年代。Linux 內核開源項目有著為數眾多的參與者。絕大多數的Linux 內核維護工作都花在了提交補丁和保存歸檔的繁瑣事務上(1991-2002年間)。到2002年,整個項目組開始啟用一個專有的分布式版本控制系統 BitKeeper 來管理和維護代碼。

到了 2005 年,開發 BitKeeper 的商業公司同 Linux 內核開源社區的合作關系結束,他們收回了 Linux內核社區免費使用 BitKeeper 的權力。這就迫使 Linux 開源社區(特別是 Linux 的締造者 LinusTorvalds)基于使用 BitKeeper 時的經驗教訓,開發出自己的版本系統。他們對新的系統制訂了若干目標:

  • 速度。
  • 簡單的設計。
  • 對非線性開發模式的強力支持(允許成千上萬個并行開發的分支)。
  • 完全分布式。
  • 有能力高效管理類似 Linux 內核一樣的超大規模項目(速度和數據量)。

自誕生于 2005 年以來,Git 日臻成熟完善,在高度易用的同時,仍然保留著初期設定的目標。 它的速度飛快,極其適合管理大項目,有著令人難以置信的非線性分支管理系統。

那我們在linux下該如何使用git來管理文件呢?

git三板斧

在使用之前,當然要先進行安裝git

yum install git

ubanto下使用

sudo apt-get update

在進行管理之前,我們要登錄gitee官網注冊屬于自己的賬號https://gitee.com

gitee創建倉庫并克隆到本地

在注冊完成賬號之后,我們的賬號下是沒有任何倉庫的;我們要先進行創建倉庫,并且將倉庫克隆到自己的本地來管理自己的文件。

創建倉庫:

在注冊完成賬號后,來到個人主頁,點擊右上角頭像旁邊的+,點擊創建倉庫,進入創建倉庫的界面。

在這里插入圖片描述

進入到以下界面

在這里插入圖片描述

這里填寫一下倉庫信息

倉庫名稱:為自己的倉庫起個名字

倉庫介紹:簡單介紹自己的倉庫

初始化倉庫:初始化語言,模版(gitignore),開源許可證

設置模版:選擇readme文件(可以編輯該文件,幫助讀者快速了解自己的倉庫內容。

分支模型:這里選擇單分支模型(根據自己需求選擇)。

創建完成就進入了以下界面;(可以看到readme文件,我們克隆到本地后可以進行修改)。

在這里插入圖片描述

創建完成之后,我們將這個倉庫,克隆到本地

  1. 點擊上圖中的克隆/下載,獲取當前倉庫地址

在這里插入圖片描述

點擊之后,有上述提示,我們只需要在本地執行即可。

git clone https://gitee.com/lxb0720/test_linux.git

在這里插入圖片描述

如上圖所示,就成功將倉庫克隆到本地了,我們現在就可以看到倉庫里的內容了

在這里插入圖片描述

1. git add

git add,我們在windows下,直接點擊,選擇要添加的文件即可;

但是在linux下,我們不能像windows那樣選擇要添加的文件,所以我們要告知我們要上傳的文件就行上傳。

在這里插入圖片描述

2. git commit

當我們git add之后,文件只是上傳到了暫存區,并沒有被管理起來;

我們要執行git commit將暫存區的文件上傳到本地倉庫,讓文件被管理起來。

git commit -m "描述信息"

這里推薦加上-m選項,并且加上描述信息,就像寫日志那樣。

在這里插入圖片描述

3. git push

通過git commit,我們已經將文件在本地倉庫管理起來;但是,這些文件還并沒有同步到遠端;我們在gitee上還是無法看到這些文件。

git push就是件本地倉庫內容同步到遠端。

在這里插入圖片描述

在執行git push之后,需要我們輸入gitee的用戶名和密碼才能上傳成功。

4. 首次使用git

如果第一次使用git上傳文件,需要我們配置運行用戶名和郵箱;在我們點擊克隆/下載時,就有提示

在這里插入圖片描述

直接指向下面指令即可。

git config --global user.name '用戶名' 
git config --global user.email '郵箱'

git其他操作

git status

對于git status,這個操作的作用就是查看當前的狀態;

說簡單一點就是看現在進行了哪一步操作。

在這里插入圖片描述

這里再看git commit后的狀態

在這里插入圖片描述

這里執行git push后,再次來查看

在這里插入圖片描述

git log

我們使用git來管理我們的文件,那如果我們想要查看我們提交上傳的記錄,就要用到git log

在這里插入圖片描述

這里就可以看到我們的提交用戶和日期以及提交的日志信息

git pull

在了解這個指令之前,我們先來看git是如何管理并同步到遠端的。

在這里插入圖片描述

看到這里可能有疑惑,本地文件夾和本地倉庫不一樣嗎?

肯定是不一樣的,在我們將遠端倉庫克隆到本地文件夾時,我們該目錄下是存在一個.git隱藏文件的

在這里插入圖片描述

我們看到還存在一個gitigonre文件,那這個文件是干什么的呢?

這里就直接說了

.gitignore文件是在我們上傳文件時,需要忽視的文件名后綴。

什么意思呢?

在這里插入圖片描述

這里.gitinore文件中存在多種文件名的后綴,這里就看.o

我們在編譯時可能會產生臨時文件.o,但是我們不希望將這個臨時文件上傳,這時gitignore文件中有.o,在上傳的時候就會忽略.o,不會將其上傳。

到這里git簡單操作就結束了,后期深入學習git之后再來詳細探討git

我的博客即將同步至騰訊云開發者社區,邀請大家一同入駐:https://cloud.tencent.com/developer/support-plan?invite_code=2oul0hvapjsws

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

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

相關文章

STM32---FreeRTOS事件標志組

一、簡介 事件標志位:用一個位,來表示事件是否發生 事件標志組:一組事件標志位的集合,可以簡單的理解時間標志組,就是一個整體。 事件標志租的特點: 它的每一個位表示一個時間(高8位不算&…

在centOS Linux系統搭建自動化構建工具Jenkins

前言 在工作中發現公司使用Jenkins實現自動化部署項目方案,于是閑著自己也搗鼓一下,網上查閱相關部署資料,順便記錄操作步驟,所以有了下面這篇的文章。 部署完之后,安裝前端項目所需環境,比如node環境&am…

Git下載安裝(保姆教程)

目錄 1、Git下載 2、Git安裝(windows版) (1)啟動安裝程序 (2)閱讀許可協議 (3)選擇安裝路徑 (4)選擇組件 (5)選擇開始菜單文件夾…

深入理解嵌入式開發中的三個重要工具:零長度數組、container_of 和 typeof

在嵌入式開發中,內核開發者經常需要處理復雜的數據結構和動態內存分配。零長度數組、container_of 宏和 typeof 是內核開發中三個非常重要的工具,它們在結構體管理、內存操作和類型處理中發揮著關鍵作用。本文將詳細探討這三個工具的功能、應用場景及其在內核開發中的重要性。…

【react】react中的<></>和React Fragment的用法及區別詳解

目錄 1、<>是什么 2、為什么要使用<>&#xff1f; 3、如何使用<>&#xff1f; 基本用法 需要傳遞屬性時&#xff08;如key&#xff09; 使用效果 注意事項 總結 4、React Fragment 與空標簽&#xff08;<>&#xff09;詳解 1. Fragment 的用…

【人工智能】使用Python實現時間序列異常檢測:從基礎到深度學習模型的全方位探索

《Python OpenCV從菜鳥到高手》帶你進入圖像處理與計算機視覺的大門! 解鎖Python編程的無限可能:《奇妙的Python》帶你漫游代碼世界 時間序列異常檢測是數據分析領域中的重要課題,廣泛應用于金融、醫療、工業監控等多個行業。本篇文章深入探討了時間序列異常檢測的基本技術…

Keytool常見問題全解析:從環境配置到公鑰提取

引言 在Android開發、跨平臺應用構建&#xff08;如UniApp&#xff09;或服務端證書管理中&#xff0c;keytool 是一個不可或缺的工具。然而&#xff0c;許多開發者在使用 keytool 時&#xff0c;常因環境配置、路徑權限、密碼問題等導致操作失敗。本文基于真實問題場景&#…

TSB - AD 解讀 — 邁向可靠、透明的 TSAD 任務

目錄 一 文章動機 二 TSAD 領域內的兩類缺陷 三 數據集的構建 四 實驗結果及結論 項目宣傳鏈接&#xff1a;TSB-AD 代碼鏈接&#xff1a; TheDatumOrg/TSB-AD: TSB-AD: Towards A Reliable Time-Series Anomaly Detection Benchmark 原作者解讀&#xff1a;NeurIPS 2…

DNS主從服務器

1.1環境準備 作用系統IP主機名web 服務器redhat9.5192.168.33.8webDNS 主服務器redhat9.5192.168.33.18dns1DNS 從服務器redhat9.5192.168.33.28dns2客戶端redhat9.5192.168.33.7client 1.2修改主機名和IP地址 web服務器 [rootweb-8 ~]# hostnamectl hostname web [rootweb-8…

遙感數據獲取、處理、分析到模型搭建全流程學習!DeepSeek、Python、OpenCV驅動空天地遙感數據分析

【扔進數據&#xff0c;直接出結果】在科技飛速發展的時代&#xff0c;遙感數據的精準分析已經成為推動各行業智能決策的關鍵工具。從無人機監測農田到衛星數據支持氣候研究&#xff0c;空天地遙感數據正以前所未有的方式為科研和商業帶來深刻變革。然而&#xff0c;對于許多專…

第一個vue項目

項目目錄 啟動vue項目 npm run serve 1.vue.config.js文件 (CLI通過vue-cli-serve啟動項目&#xff0c;解析配置配置文件vue-condig-js&#xff09; // vue.config.js //引入path板塊&#xff0c;這是Node.js的一個內置模塊&#xff0c;用于處理文件路徑&#xff0c;這里引用…

QT中讀取QSetting文件

1.ini文件的格式 頭文件 #include <QSettings> #include <QStringList> #include <QtCore> #include <QDebug>2.讀文件 //ini文件的讀取 void iniTest::readIniFile(QString filePath) {//1.打開ini文件QSettings m_iniFile(filePath, QSettings::I…

卷積神經網絡 - 一維卷積、二維卷積

卷積(Convolution)&#xff0c;也叫褶積&#xff0c;是分析數學中一種重要的運算。在信號處理或圖像處理中&#xff0c;經常使用一維或二維卷積&#xff0c;本博文我們來學習一維卷積和二維卷積。 理解一維卷積和二維卷積的核心在于把握維度對特征提取方式的影響。我們從數學定…

java學習總結(六)Spring IOC

一、Spring框架介紹 Spring優點&#xff1a; 1、方便解耦&#xff0c;簡化開發,IOC控制反轉 Spring 就是一個大工廠&#xff0c;可以將所有對象創建和依賴關系維護交給Spring 2、AOP 編程的支持 Spring 提供面向切編程&#xff0c;可以方便的實現對序進行權限攔截、運監控等…

大模型推理:LM Studio在Mac上部署Deepseek-R1模型

LM Studio LM Studio是一款支持離線大模型部署的推理服務框架&#xff0c;提供了易用的大模型部署web框架&#xff0c;支持Linux、Mac、Windows等平臺&#xff0c;并提供了OpenAI兼容的SDK接口&#xff0c;主要使用LLama.cpp和MLX推理后端&#xff0c;在Mac上部署時選擇MLX推理…

AI技術學習筆記系列004:GPU常識

顯卡架構是GPU設計的核心&#xff0c;不同廠商有其獨特的架構演進。以下是主要廠商的顯卡架構概述&#xff1a; 一、NVIDIA Tesla&#xff08;2006-2010&#xff09; 代表產品&#xff1a;GeForce 8000系列&#xff08;G80&#xff09;。特點&#xff1a;首款統一著色架構&…

實驗- 分片上傳 VS 直接上傳

分片上傳和直接上傳是兩種常見的文件上傳方式。分片上傳將文件分成多個小塊&#xff0c;每次上傳一個小塊&#xff0c;可以并行處理多個分片&#xff0c;適用于大文件上傳&#xff0c;減少了單個請求的大小&#xff0c;能有效避免因網絡波動或上傳中斷導致的失敗&#xff0c;并…

Android視頻渲染SurfaceView強制全屏與原始比例切換

1.創建UI添加強制全屏與播放按鈕 2.SurfaceView控件設置全屏顯示 3.全屏點擊事件處理實現 4.播放點擊事件處理 5.使用接口更新強制全屏與原始比例文字 強制全屏/原始比例 點擊實現

數據結構——串、數組和廣義表

串、數組和廣義表 1. 串 1.1 串的定義 串(string)是由零個或多個字符組成的有限序列。一般記為 S a 1 a 2 . . . a n ( n ≥ 0 ) Sa_1a_2...a_n(n\geq0) Sa1?a2?...an?(n≥0) 其中&#xff0c;S是串名&#xff0c;單引號括起來的字符序列是串的值&#xff0c; a i a_i a…

無再暴露源站!群聯AI云防護IP隱匿方案+防繞過實戰

一、IP隱藏的核心原理 群聯AI云防護通過三層架構實現源站IP深度隱藏&#xff1a; 流量入口層&#xff1a;用戶訪問域名解析至高防CNAME節點&#xff08;如ai-protect.example.com&#xff09;智能調度層&#xff1a;基于AI模型動態分配清洗節點&#xff0c;實時更新節點IP池回…