初識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/web/78424.shtml
繁體地址,請注明出處:http://hk.pswp.cn/web/78424.shtml
英文地址,請注明出處:http://en.pswp.cn/web/78424.shtml

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

相關文章

用哈希表封裝出unordered_set/_map

前提: ①:本博客是對哈希表(開散列)進行封裝,因為閉散列不優秀(與庫保持一致) ②:哈希表封裝出unordered_set/_map和紅黑樹封裝出ste/map是大同小異的,可以先看下:用紅黑樹封裝出set和map -CSDN博客 ③&…

情緒ABC——AI與思維模型【93】

一、定義 情緒ABC思維模型是一種心理學上的理論,它認為人們的情緒和行為反應(C,Consequence)并非直接由激發事件(A,Activating event)引起,而是由個體對激發事件的認知和評價所產生…

Unity URP RenderTexture優化(二):深度圖優化

目錄 前言: 一、定位深度信息 1.1:k_DepthStencilFormat 1.2:k_DepthBufferBits 1.3:_CameraDepthTexture精度與大小 1.4:_CameraDepthAttachment數量 二、全代碼 前言: 在上一篇文章:Un…

【力扣刷題記錄】hot100錯題本(一)

1. 簡單題 我的答案:時間復雜度過高:O(N^3) class Solution:def twoSum(self, nums: List[int], target: int) -> List[int]:for num in nums:if (target - num) in nums:#多余for i in range(len(nums)):if nums[i] num :for j in range(i1,len(nu…

線程池的線程數配置策略

目錄 1. CPU密集型任務 2. IO密集型任務 3. 混合型任務 1. CPU密集型任務 特點:任務主要消耗CPU資源(如計算、加密、壓縮)。 推薦線程數: 線程數 ≈ 物理核心數 1 / CPU - 1(不知道哪個√) 例如&#…

基于開源鏈動2+1模式AI智能名片S2B2C商城小程序的爆品力構建研究

摘要:在興趣電商生態中,爆品力已成為品牌實現指數級增長的核心競爭力。本文以開源鏈動21模式AI智能名片S2B2C商城小程序為技術載體,結合抖音平臺的內容傳播特性,提出“需求挖掘-技術賦能-內容轉化”三位一體的爆品力構建模型。通過…

photoshop學習筆記2

第一章 第01節-界面的重要性(學習方法) 第02節-文件的打開新建及儲存 第03節-移動工具(圖層概念) 學習目標: 1.了解圖層概念 2.認識工具屬性 3.掌握工具使用 圖層的概念 移動工具 移動工具就是用來移動圖層內容的。是否可以用來移動組…

operator 可以根據需要重載 == 運算符進行比較

要將 vector<AppInfo> 類型的 A 和 B 兩個容器進行比較&#xff0c;并且當 B 中有 A 中沒有的元素時&#xff0c;插入到數據庫中&#xff0c;你可以通過以下步驟實現&#xff1a; 比較元素&#xff1a;遍歷 vector<B>&#xff0c;檢查每個元素是否在 vector<A&…

Three.js在vue中的使用(二)-加載、控制

在 Vue 中使用 Three.js 加載模型、控制視角、添加點擊事件是構建 3D 場景的常見需求。下面是一個完整的示例&#xff0c;演示如何在 Vue 單文件組件中實現以下功能&#xff1a; 使用 GLTFLoader 加載 .glb/.gltf 模型添加 OrbitControls 控制視角&#xff08;旋轉、縮放、平移…

軟件架構之旅(6):淺析ATAM 在軟件技術架構評估中的應用

文章目錄 一、引言1.1 研究背景1.2 研究目的與意義 二、ATAM 的理論基礎2.1 ATAM 的定義與核心思想2.2 ATAM 涉及的質量屬性2.3 ATAM 與其他架構評估方法的關系 三、ATAM 的評估流程3.1 準備階段3.2 場景和需求收集階段3.3 架構描述階段3.4 評估階段3.5 結果報告階段 四、ATAM …

vue-chat 開源即時聊天系統web本地運行方法

官方文檔 https://gitcode.com/gh_mirrors/vuechat7/vue-chat.git npm install 可能需要用 npm 下載兩個包 "viewerjs": "^1.9.0", "vue-hot-reload-api": "^2.3.4", src\constant\index.js 改下面兩行 export const LOGIN_API …

Rust與C/C++互操作實戰指南

目錄 1.前言2.動態庫調用2.1 動態加載2.2 靜態加載3.代碼調用4.靜態庫調用1.前言 本文原文為:Rust與C/C++互操作實戰指南 由于rust誕生時間太短,目前生態不夠完善,因此大量的功能庫都需要依賴于C、C++語言的歷史積累。 而本文將要介紹的便是如何實現rust與c乃至c++之間實…

ppt設計美化公司_杰青_長江學者_優青_青年長江學者_萬人計劃青年拔尖人才答辯ppt模板

WordinPPT / 持續為雙一流高校、科研院所、企業等提供PPT制作系統服務。 / 近期PPT美化案例 - 院士增選、科學技術獎、杰青、長江學者特聘教授、校企聯聘長江、重點研發、優青、青長、青拔.. 杰青&#xff08;杰出青年科學基金&#xff09; 支持已取得突出成果的45歲以下學…

修復筆記:SkyReels-V2 項目中的 torch.load 警告

#工作記錄 一、問題描述 在運行項目時&#xff0c;出現以下警告&#xff1a; FutureWarning: You are using torch.load with weights_onlyFalse (the current default value), which uses the default pickle module implicitly. It is possible to construct malicious pic…

GNOME擴展:Bing壁紙

難點 網絡請求(Soup) 下載文件(Soup) 讀寫設置(Gio.Settings) 源碼 import GLib from "gi://GLib"; import Gio from gi://Gio; import St from gi://St; import Soup from gi://Soup;import { Extension } from resource:///org/gnome/shell/extensions/extens…

計算機視覺綜合實訓室解決方案

一、引言 在當今科技飛速發展的時代&#xff0c;計算機視覺作為人工智能領域的核心技術之一&#xff0c;正以前所未有的速度改變著我們的生活和工作方式。從智能手機中的人臉識別解鎖&#xff0c;到自動駕駛汽車對道路和障礙物的精準識別&#xff1b;從安防監控系統中的智能視…

C++23 std::tuple與其他元組式對象的兼容 (P2165R4)

文章目錄 引言C23 std::tuple概述std::tuple的定義和基本用法std::tuple的特性std::tuple的應用場景 其他元組式對象的特點Python元組的特點Python元組與C std::tuple的對比 P2165R4提案的具體內容提案背景提案主要內容提案的影響 兼容性示例代碼總結 引言 在C編程的世界里&am…

Go語言:協程調度器GPM模型深度解析

一、GPM模型概述 Go語言的并發模型是其最強大的特性之一,而這一切的核心就是GPM調度模型。讓我們用一個生活中的例子來理解: 想象你經營著一家快遞公司: G(Goroutine):就像一個個待配送的包裹P(Processor):就像是你公司的配送站,負責組織配送工作M(Machine):就像…

NVIDIA顯卡演進歷程及其關鍵參數對比

一、早期架構階段&#xff08;1995-1999&#xff09; 技術特點&#xff1a;聚焦圖形渲染性能提升&#xff0c;逐步引入硬件加速功能。 NV1&#xff08;1995&#xff09; 工藝制程&#xff1a;500nm核心頻率&#xff1a;12MHz顯存頻率&#xff1a;75MHz創新點&#xff1a;首款集…