0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線(xiàn)課程
  • 觀看技術(shù)視頻
  • 寫(xiě)文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

關(guān)于Git教程解析

xCb1_yikoulinux ? 來(lái)源:一口Linux ? 作者:一口Linux ? 2022-04-27 14:54 ? 次閱讀

1 參考教程

☆Git官方文檔

https://git-scm.com/book/zh/v2

☆ 廖雪峰的Git教程

https://www.liaoxuefeng.com/wiki/896043488029600

2.Git的作用

Git 是一個(gè)開(kāi)源的分布式版本控制系統(tǒng),用于敏捷高效地處理任何或小或大的項(xiàng)目。

Git 是 Linus Torvalds 為了幫助管理 Linux 內(nèi)核開(kāi)發(fā)而開(kāi)發(fā)的一個(gè)開(kāi)放源碼的版本控制軟件。

Git 與常用的版本控制工具 CVS, Subversion 等不同,它采用了分布式版本庫(kù)的方式,不必服務(wù)器端軟件支持。

3.安裝Git

3.1Linux 系統(tǒng)下安裝

一般Linux系統(tǒng)都會(huì)自帶git命令。

如果沒(méi)有,使用如下命令安裝即可:

sudoapt-getinstall git

3.2 Windows系統(tǒng)下安裝

除官網(wǎng)下載安裝程序外,一般還會(huì)下載小烏龜?shù)膱D形界面客戶(hù)端和語(yǔ)言擴(kuò)展包。如下圖:

c74875b0-c5de-11ec-bce3-dac502259ad0.png

安裝完成后右鍵會(huì)出現(xiàn)如下幾個(gè)選項(xiàng)(開(kāi)始是英文):

c757abfc-c5de-11ec-bce3-dac502259ad0.png

在設(shè)置選項(xiàng)中更改成中文即可。

c7656008-c5de-11ec-bce3-dac502259ad0.png

點(diǎn)擊網(wǎng)絡(luò)選項(xiàng),設(shè)置下圖的SSH路徑,找git的安裝路徑(即第一個(gè)軟件的路徑),根據(jù)自己實(shí)際修改。完成后點(diǎn)擊確定即可。

c77808c0-c5de-11ec-bce3-dac502259ad0.png

上面SSH客戶(hù)端路徑請(qǐng)一定選擇正確,注意是usr/bin下的ssh.exe

3.3 使用Gitbash終端

Git bash是windows下模擬Linux的終端,支持常用的linux命令,比如ls等。

c789d320-c5de-11ec-bce3-dac502259ad0.png

點(diǎn)擊右鍵菜單中的GitBash Here選項(xiàng),會(huì)彈出如下Gitbash界面。

c7a116e8-c5de-11ec-bce3-dac502259ad0.png

3.4 生成主機(jī)密鑰

ssh-keygen-t rsa -C "xxxx@xx.com"

一路回車(chē),直到命令執(zhí)行結(jié)束。終端會(huì)提示生成密鑰的路徑。

c7ae557e-c5de-11ec-bce3-dac502259ad0.png

id_rsa.pub文件的內(nèi)容即對(duì)外公鑰,可配置到遠(yuǎn)程服務(wù)器中,配置完成后往遠(yuǎn)程服務(wù)器推送即可不用每次再輸入用戶(hù)名和密碼。

c7bbc402-c5de-11ec-bce3-dac502259ad0.png

4.Git管理區(qū)域

4.1 區(qū)域劃分

☆ 工作區(qū)

即我們新建git倉(cāng)庫(kù)后在電腦上看到的目錄,此區(qū)域內(nèi)文件改動(dòng)完全由我們自己掌控,Git不進(jìn)行備份管理,可以隨時(shí)把新增工作區(qū)內(nèi)容通過(guò)Git命令刪除或者增加到暫存區(qū)。

☆ 暫存區(qū)

暫存區(qū)是個(gè)比較虛擬的概念,可以理解為工作區(qū)和版本庫(kù)之間的過(guò)渡,當(dāng)用戶(hù)想簡(jiǎn)單備份工作區(qū)內(nèi)容,但又不想做版本提交,就可以將工作區(qū)內(nèi)容暫時(shí)存放到暫存區(qū),此區(qū)域的內(nèi)容可方便的還原回工作區(qū),或者作為正式版本提交到版本庫(kù)。

☆ 版本庫(kù)

Git版本管理的核心,存儲(chǔ)著每一個(gè)版本的備份。

☆ 遠(yuǎn)程庫(kù)

遠(yuǎn)端服務(wù)器,即上文中提到的“中央服務(wù)器”,僅用來(lái)作為開(kāi)發(fā)者之間的版本倉(cāng)庫(kù)同步使用。

5.Git命令

5.1 基礎(chǔ)命令

配置用戶(hù)信息 gitconfig --global user.name "zhangsan" gitconfig --global user.email "xxxx@xx.com" 配置的信息用作提交版本時(shí)標(biāo)識(shí)提交者用戶(hù)名和郵箱地址。 查看當(dāng)前配置 gitconfig -l 初始化倉(cāng)庫(kù) git init 將工作區(qū)內(nèi)容添加到暫存區(qū) git add 查看倉(cāng)庫(kù)當(dāng)前的狀態(tài) gitstatus 查看文件修改 git diff

5.2 版本控制

c7d0b312-c5de-11ec-bce3-dac502259ad0.png

將暫存區(qū)的內(nèi)容提交到版本庫(kù) gitcommit -m "版本修改信息" 將暫存區(qū)內(nèi)容放回工作區(qū) gitreset HEAD 將工作區(qū)內(nèi)容丟掉 gitcheckout 查看當(dāng)前版本以前的歷史 git log 查看當(dāng)前版本前后所有的歷史 gitreflog 回退一個(gè)版本 gitreset --hard HEAD^ 回退到某個(gè)版本 gitreset --hard

5.3 分支管理

c7e094da-c5de-11ec-bce3-dac502259ad0.png

創(chuàng)建新的分支 gitcheckout -b dev相當(dāng)于gitbranch dev + git checkout dev兩個(gè)命令的集合 列出所有分支并用*標(biāo)注當(dāng)前分支 git branch 切換回name分支 git checkout 把name分支合并到當(dāng)前分支 git merge 刪除name的分支 git branch -d

分支管理參考圖

c7ee4fc6-c5de-11ec-bce3-dac502259ad0.png

5.4 遠(yuǎn)程倉(cāng)庫(kù) (常用代碼托管平臺(tái))

☆ Github

開(kāi)源項(xiàng)目的聚集地,世界最大的代碼托管平臺(tái)。很多著名的項(xiàng)目都在Github開(kāi)源,比如Linux源碼、Qt源碼等。缺點(diǎn):國(guó)內(nèi)經(jīng)常無(wú)法訪問(wèn),速度比較慢。

☆ Gitlab

Gitlab支持公有倉(cāng)庫(kù)和免費(fèi)的私有倉(cāng)庫(kù),體驗(yàn)和Github類(lèi)似,常用作搭建的企業(yè)內(nèi)網(wǎng)代碼托管平臺(tái)。公有倉(cāng)庫(kù)國(guó)內(nèi)經(jīng)常無(wú)法訪問(wèn),速度比較慢。

☆ 碼云

國(guó)內(nèi)代碼托管的老大,一個(gè)賬號(hào)最多可以創(chuàng)建1000個(gè)項(xiàng)目,不分公有和私有。速度非常快,體驗(yàn)較好。但是單文件大小不能超過(guò)100M。

☆ 相關(guān)命令

克隆遠(yuǎn)程倉(cāng)庫(kù) gitclone <遠(yuǎn)程地址> 本地推送到遠(yuǎn)程 git pushorigin <分支名> 從遠(yuǎn)程拉取更新 git pull

☆ 配置別名

git config --global alias.st statusgit config --global alias.ci commitgit config --global alias.br branchgit config --global alias.ch checkout

6.TortoiseGit使用

6.1 操作演示

克隆項(xiàng)目

c82bf768-c5de-11ec-bce3-dac502259ad0.png

c839200a-c5de-11ec-bce3-dac502259ad0.png

撤銷(xiāo)工作區(qū)修改

c84566a8-c5de-11ec-bce3-dac502259ad0.png

版本提交

c8608276-c5de-11ec-bce3-dac502259ad0.png

c86b8db0-c5de-11ec-bce3-dac502259ad0.png

拉取更新

c8844350-c5de-11ec-bce3-dac502259ad0.png

c88f63e8-c5de-11ec-bce3-dac502259ad0.png

c8844350-c5de-11ec-bce3-dac502259ad0.png

推送更新

c8aa8db2-c5de-11ec-bce3-dac502259ad0.png

end

審核編輯 :李倩

聲明:本文內(nèi)容及配圖由入駐作者撰寫(xiě)或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 控制系統(tǒng)
    +關(guān)注

    關(guān)注

    41

    文章

    6622

    瀏覽量

    110614
  • Git
    Git
    +關(guān)注

    關(guān)注

    0

    文章

    200

    瀏覽量

    15765

原文標(biāo)題:Git教程,這一篇就夠了

文章出處:【微信號(hào):yikoulinux,微信公眾號(hào):一口Linux】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

收藏 人收藏

    評(píng)論

    相關(guān)推薦

    Flexus X 實(shí)例 C#/.Net Core 結(jié)合(git 代碼管理、docker 自定義鏡像)快速發(fā)布部署 - 讓你的項(xiàng)目飛起來(lái)~

    前言 ???云端部署新體驗(yàn),C# Web API 遇上 Git Docker,828 B2B 企業(yè)節(jié)特惠來(lái)襲!Flexus X 實(shí)例,為您的 C#應(yīng)用提供強(qiáng)大支撐,結(jié)合 Git 版本控制
    的頭像 發(fā)表于 12-25 21:15 ?113次閱讀
    Flexus X 實(shí)例 C#/.Net Core 結(jié)合(<b class='flag-5'>git</b> 代碼管理、docker 自定義鏡像)快速發(fā)布部署 - 讓你的項(xiàng)目飛起來(lái)~

    ZCAN PRO解析的DBC Singal 起始位與XNET解析的起始位不同;解析的信號(hào)不符合大端邏輯

    上圖中的DBC文件使用記事本打開(kāi),Data_Field信號(hào),起始位為23,長(zhǎng)度為48,大端方式存儲(chǔ);(按照這個(gè)方式存儲(chǔ),明顯已經(jīng)溢出) 上圖為該信號(hào)在ZCANPRO軟件中打開(kāi),解析的起始位為23
    發(fā)表于 10-18 13:53

    ESP-BOX的Git上的PCB文檔用AD打不開(kāi),說(shuō)文件損壞怎么解決?

    ESP-BOX的Git上的PCB文檔用AD打不開(kāi),說(shuō)文件損壞,能否提供一下AD版本的layout供參考?非常感謝?。?!
    發(fā)表于 06-27 06:33

    打開(kāi)esp-idf的任意一個(gè)component時(shí),vscode會(huì)自動(dòng)導(dǎo)入該component的git倉(cāng)庫(kù),怎么解決?

    當(dāng)我打開(kāi)esp-idf 的任意一個(gè)component時(shí),vscode會(huì)自動(dòng)導(dǎo)入該component的git倉(cāng)庫(kù),導(dǎo)致vscode的源碼管理非常擁擠,請(qǐng)問(wèn)這有什么辦法解決嗎?還是我vscode設(shè)置不對(duì)導(dǎo)致? 希望大家能指導(dǎo)指導(dǎo),感謝!
    發(fā)表于 06-21 07:39

    ubuntu下的vscode插件安裝idf時(shí),總是找不到git,為什么?

    總是提示:Git is not found in current environment 但是我已經(jīng)在setting.json下設(shè)置了\"git.path\": \"/bin/git\" 同行,命令行里查看
    發(fā)表于 06-21 07:16

    git還是用圖形界面安裝idf-tools總是失敗,這是什么問(wèn)題?

    無(wú)論是用git還是用圖形界面安裝idf-tools總是失敗,這是什么問(wèn)題?
    發(fā)表于 06-19 07:03

    通過(guò)git命令獲取ESP8266_RTOS_SDK失敗如何解決?

    本人使用的硬件平臺(tái)為esp8266,開(kāi)發(fā)環(huán)境為ubuntu22.04。在通過(guò)git命令獲取ESP8266_RTOS_SDK失敗,通過(guò)上網(wǎng)搜索嘗試了很多方法無(wú)效。具體情況如下
    發(fā)表于 06-07 07:26

    請(qǐng)問(wèn)下使用IDF怎么做用git做版本控制?

    請(qǐng)問(wèn)下使用IDF怎么做用git做版本控制?是保存自己應(yīng)用部分的代碼還是整個(gè)SDK都要保存,但是整個(gè)框架都是官方下的,有沒(méi)必要保存,求各位大神告知下你們?cè)趺刺幚淼摹?/div>
    發(fā)表于 06-06 07:15

    Git發(fā)布新版本 修補(bǔ)五處安全漏洞 包含嚴(yán)重遠(yuǎn)程代碼執(zhí)行風(fēng)險(xiǎn)

    CVE-2024-32002漏洞的嚴(yán)重性在于,黑客可通過(guò)創(chuàng)建特定的Git倉(cāng)庫(kù)子模塊,誘騙Git將文件寫(xiě)入.git/目錄,而非子模塊的工作樹(shù)。如此一來(lái),攻擊者便能在克隆過(guò)程中植入惡意腳本,用戶(hù)幾乎無(wú)法察覺(jué)。
    的頭像 發(fā)表于 05-31 10:09 ?607次閱讀

    求助,關(guān)于串口數(shù)據(jù)解析疑問(wèn)求解

    現(xiàn)在手上有一個(gè)串口模塊要開(kāi)發(fā),比較復(fù)雜, 功能:接收各種類(lèi)型不定長(zhǎng)度的 字符串,然后解析做出反饋 字符串基本規(guī)格: 單條命令 : CMD(X,Y,\'ABC或者中文字符不定長(zhǎng)\',W
    發(fā)表于 04-29 06:34

    飛凌ElfBoard ELF 1板卡-ubuntu18.04 git安裝及基本使用

    1.安裝gitsudo apt-get install git 2.git初始化git init 3.設(shè)置用戶(hù)名和郵箱git config --global user.name \"你
    發(fā)表于 03-21 16:23

    XML在HarmonyOS中的生成,解析與轉(zhuǎn)換(下)

    一、XML 解析 對(duì)于以 XML 作為載體傳遞的數(shù)據(jù),實(shí)際使用中需要對(duì)相關(guān)的節(jié)點(diǎn)進(jìn)行解析,一般包括解析 XML 標(biāo)簽和標(biāo)簽值、解析 XML 屬性和屬性值、
    的頭像 發(fā)表于 02-18 10:07 ?741次閱讀

    藍(lán)牙 | 軟件:Git管理高通的ChipCode項(xiàng)目

    最近發(fā)現(xiàn)大家在高通chipcode網(wǎng)站上下載不了代碼,小編一直使用git的方式獲取新版本代碼,沒(méi)有遇到什么阻礙。于是小編到新主機(jī)上嘗試下載代碼的壓縮包和git代碼,都遇到了問(wèn)題。由于壓縮包是高通自己
    的頭像 發(fā)表于 01-26 08:29 ?402次閱讀
    藍(lán)牙 | 軟件:<b class='flag-5'>Git</b>管理高通的ChipCode項(xiàng)目

    克服PLC編程的難題—基于Git的軟件

    Git是一種分布式版本控制系統(tǒng),它可以記錄文件的修改歷史和版本變化,并可以支持多人協(xié)同開(kāi)發(fā)。
    的頭像 發(fā)表于 01-22 09:30 ?964次閱讀
    克服PLC編程的難題—基于<b class='flag-5'>Git</b>的軟件

    Git開(kāi)發(fā)者關(guān)注內(nèi)存安全問(wèn)題,探討引入Rust語(yǔ)言

    根據(jù)最新披露的郵件討論,Git開(kāi)發(fā)團(tuán)隊(duì)熱議在Git項(xiàng)目中引入Rust的可行性。作為一種開(kāi)源的分布式代碼版本管理工具,廣泛運(yùn)用于各種開(kāi)發(fā)項(xiàng)目。盡管現(xiàn)在Git項(xiàng)目主要以C與Python為主要開(kāi)發(fā)語(yǔ)言,但探討顯示,引入Rust能顯著降
    的頭像 發(fā)表于 01-15 14:23 ?626次閱讀
    <b class='flag-5'>Git</b>開(kāi)發(fā)者關(guān)注內(nèi)存安全問(wèn)題,探討引入Rust語(yǔ)言