0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
电子发烧友
开通电子发烧友VIP会员 尊享10大特权
海量资料免费下载
精品直播免费看
优质内容免费畅学
课程9折专享价
創(chuàng)作中心

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

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

了解Git和Github

GReq_mcu168 ? 來源:玩轉(zhuǎn)單片機(jī) ? 作者:玩轉(zhuǎn)單片機(jī) ? 2020-10-30 11:32 ? 次閱讀

了解Git和Github

什么是Git

Git(讀音為/g?t/)。是一個(gè)開源的分布式版本控制系統(tǒng),可以有效、高速地處理從很小到非常大的項(xiàng)目版本管理。Git 是 Linus Torvalds 為了幫助管理 Linux 內(nèi)核開發(fā)而開發(fā)的一個(gè)開放源碼的版本控制軟件。

版本控制是一種記錄一個(gè)或若干個(gè)文件內(nèi)容變化,以便將來查閱特定版本修訂情況的系統(tǒng)。版本控制是指對(duì)軟件開發(fā)過程中各種程序代碼、配置文件及說明文檔等文件變更的管理,是軟件配置管理的核心思想之一。

GitHub是一個(gè)面向開源及私有軟件項(xiàng)目的托管平臺(tái),因?yàn)橹恢С謌it 作為唯一的版本庫格式進(jìn)行托管,故名GitHub。Github是全球最大的社交編程及代碼托管。https://github.com。Github可以托管各種git庫,并提供一個(gè)web界面(用戶名.github.io/倉庫名),作為一名編程開發(fā)人員如果不知道github那真的out了。

Github和Git是什么關(guān)系

關(guān)于github,這是一個(gè)網(wǎng)站,就是每個(gè)程序員自己寫的程序,可以在github上建立一個(gè)網(wǎng)上的倉庫,你每次提交的時(shí)候可以把代碼提交到網(wǎng)上,這樣你的每次提交,別人也都可以看到你的代碼,同時(shí)別人也可以幫你修改你的代碼,這種開源的方式非常方便程序員之間的交流和學(xué)習(xí)。

Git是一個(gè)版本管理工具,是可以在你電腦不聯(lián)網(wǎng)的情況下,只在本地使用的一個(gè)版本管理工具,其作用就是可以讓你更好的管理你的程序,比如你原來提交過的內(nèi)容,以后雖然修改了,但是通過git這個(gè)工具,可以把你原來提交的內(nèi)容重現(xiàn)出來,這樣對(duì)于你后來才意識(shí)到的一些錯(cuò)誤的更改,可以進(jìn)行還原。

為什么學(xué)習(xí)github

1. GitHub 上有很多大牛出沒,國外的咱先不說,就國內(nèi)的像百度、騰訊、阿里之類的大公司,里面的很多工程師都在 GitHub 上安家落戶,有空的時(shí)候多在 GitHub 上逛逛,關(guān)注一下大牛,沒準(zhǔn)還能搞個(gè)內(nèi)推什么的。
2. GitHub 上可以接觸到最新的最前沿的 IT 技術(shù)。因?yàn)椋覀冎廊魏诬浖蛘弋a(chǎn)品在上線發(fā)布之前,都有開發(fā)的過程和測試的過程,GitHub 上你可以接觸到這些產(chǎn)品的初始狀態(tài)、中間狀態(tài)和發(fā)布狀態(tài),你可以第一時(shí)間了解到產(chǎn)品的動(dòng)向。而且根據(jù) GitHub 上每年發(fā)布的統(tǒng)計(jì)數(shù)據(jù),你可以知道哪些技術(shù)是最火熱的技術(shù),及時(shí)跟上這些技術(shù),而不是學(xué)一些過時(shí)的小眾的技術(shù)。這個(gè)恐怕是每個(gè)搞 IT 技術(shù)的人,都非常關(guān)心的一個(gè)問題。
3. 學(xué)習(xí)優(yōu)秀的開源項(xiàng)目
4. 關(guān)注行業(yè)前輩了解最新的行業(yè)動(dòng)態(tài)

Git安裝和使用

為啥要安裝Git?這個(gè)就相當(dāng)于你電腦的CMD命令程序。我們安裝這個(gè)后就不用電腦的CMD命令了直接操作這個(gè)即可。首先就是去https://git-scm.com官網(wǎng)下載Git,根據(jù)你電腦系統(tǒng)的配置信息,下載對(duì)應(yīng)的安裝程序,然后開始進(jìn)行下面的步驟


1.下載好Git的安裝包,開始安裝,打開安裝包,出現(xiàn)如圖的界面,點(diǎn)擊Next:


2.選擇你要安裝的位置,我以C盤為例,路徑為圖中所示,安裝到其他位置的話,點(diǎn)擊Browse,選擇你要安裝的位置,然后點(diǎn)擊Next,進(jìn)入下一步:


3.選擇你是否創(chuàng)建桌面快捷方式,其他默認(rèn)即可,點(diǎn)擊Next,進(jìn)入下一步:


4.是否將Git快捷方式的目錄加入開始菜單欄


5.這個(gè)是選擇文本編輯器的方式,默認(rèn)是Vim,也可以選擇其他的方式,自主選擇,在這里我選擇的Vim默認(rèn)方式。選擇好文本編輯器的方式后,點(diǎn)擊Next,進(jìn)入下一個(gè)流程


6.選擇安裝 Git 時(shí)對(duì)環(huán)境變量PATH的影響,第一種影響較小,第三種會(huì)影響到Windows的自帶工具,默認(rèn)勾選中間項(xiàng),建議不要修改,直接點(diǎn)擊 “Next” 繼續(xù)安裝:


7.選擇 Git 在使用 HTTPS 時(shí)使用的庫,若無特殊需求,可保持默認(rèn)選項(xiàng),點(diǎn)擊 “Next” 繼續(xù)安裝:


8.選擇提交與拉取記錄時(shí),對(duì)換行符的處理方式,若無特殊需要,默認(rèn)選擇即可,點(diǎn)擊 “Next” 繼續(xù)安裝:


9.選擇模擬終端軟件(即命令行窗口軟件),若無特殊需要,可默認(rèn)選擇,點(diǎn)擊 “Next” 繼續(xù)安裝:


10.最新功能的詢問,若不想嘗試尚未保證穩(wěn)定性的新功能,默認(rèn)不勾選,點(diǎn)擊 “Install” 即可完成安裝:


11.安裝完成


12.回到桌面,點(diǎn)擊鼠標(biāo)右鍵,會(huì)出現(xiàn)兩個(gè)選項(xiàng)Git GUI Here和Git Bash Here,在打開Cmd(Win+R),分別輸入git和git --version,如果出現(xiàn)如下圖的情況,即安裝成功!

Git基本工作流程

1 Git結(jié)構(gòu)

2 本地庫和遠(yuǎn)程庫

團(tuán)隊(duì)內(nèi)部協(xié)作

跨團(tuán)隊(duì)協(xié)作

Git 命令行操作

1 本地庫初始化

gitinit

執(zhí)行完此命令后會(huì)在本地工作區(qū)生成一個(gè).git文件夾。里面存放著是本地庫相關(guān)的子目錄和文件,不要?jiǎng)h除,也不要胡亂修改。

2 設(shè)置簽名

1.方式一(項(xiàng)目級(jí)別/倉庫級(jí)別:僅在當(dāng)前本地庫范圍內(nèi)有效)

gitconfiguser.name'liuyao' gitconfiguser.email'liuyao@163.com'

信息保存位置:./.git/config文件

2.方式二(系統(tǒng)用戶級(jí)別:登錄當(dāng)前操作系統(tǒng)的用戶范圍)

gitconfig--globaluser.name'liuyao' gitconfig--globaluser.email'liuyao@163.com'

信息保存位置:./.git/config文件

作用:區(qū)分不同開發(fā)人員的身份

辨析:這里設(shè)置的簽名和登錄遠(yuǎn)程庫(代碼托管中心github)的賬號(hào)、密碼沒有任何關(guān)系。

項(xiàng)目級(jí)別優(yōu)先于系統(tǒng)用戶級(jí)別,二者都有時(shí)采用項(xiàng)目級(jí)別的簽名.如果只有系統(tǒng)用戶級(jí)別的簽名,就以系統(tǒng)用戶級(jí)別的簽名為準(zhǔn),二者都沒有不允許

Git基本操作

1 狀態(tài)查看

gitstatus#查看工作區(qū)、暫存區(qū)狀態(tài)

2 添加

gitadd[filename]#將工作區(qū)的“新建/修改”添加到暫存區(qū)

3 提交

gitcommit-m"commitmessage"[filename]#將暫存區(qū)的內(nèi)容提交到本地庫

4 查看歷史記錄

gitlog#查看版本歷史記錄(方式一) gitlog--pretty=oneline#查看版本歷史記錄(方式二) gitlog--oneline#查看版本歷史記錄(方式三) gitreflog#查看版本歷史記錄(方式四)

本地庫與遠(yuǎn)程庫建立連接

比如你再在github上新建了一個(gè)倉庫。你要用電腦往新建的遠(yuǎn)程倉庫上傳東西。 1.在電腦的D盤新建一個(gè)test文件夾.當(dāng)然在哪個(gè)盤都可以,我這里只是舉一個(gè)例子。 在test文件夾下右鍵,點(diǎn)擊git bash here。

gitinit#初始化本地庫

執(zhí)行完git init命令后,會(huì)在test文件夾下新建一個(gè).git文件。注意:此文件夾是一個(gè)隱藏文件夾。 2.假如你要上傳一個(gè)文本文件git.txt.

gitaddgit.txt#把工作區(qū)內(nèi)容(git.txt文件)提交到暫存區(qū)

3.把暫存區(qū)的內(nèi)容(git.txt文件)提交到本地庫

#把暫存區(qū)的內(nèi)容(git.txt文件)提交到本地庫 gitcommit-m"myfirstcommit"git.txt

4.將本地庫推送到遠(yuǎn)程庫

#本地庫推送到遠(yuǎn)程庫 gitpushoriginmaster

克隆遠(yuǎn)程庫

把遠(yuǎn)程庫xxx克隆到本地庫(前提是你已經(jīng)在github上面新建了一個(gè)庫,或者有遠(yuǎn)程庫的地址鏈接)

1.克隆遠(yuǎn)程庫到本地

gitclone[遠(yuǎn)程地址] #gitclonehttps://github.com/zhangsan/cdn.git

多人協(xié)作

小劉要克隆小雅的xxx遠(yuǎn)程庫修改之后再提交給小雅(多個(gè)人之間的操作)

1 克隆

gitclone[小雅遠(yuǎn)程庫的地址] #gitclonehttps://github.com/xiaoya-hub/cdn.git

這樣你就把小雅的xxx遠(yuǎn)程庫克隆到你的本地庫。

2 修改文件

現(xiàn)在我就可以使用小雅庫里面的東西了。假如我在庫里面添加了一個(gè)good.txt文件。之后要把這個(gè)文件推送到小雅的遠(yuǎn)程庫。

3 將修改的文件提交到暫存區(qū)

gitaddgood.txt#把工作區(qū)內(nèi)容(good.txt文件)提交到暫存區(qū)

4 暫存區(qū)的內(nèi)容提交到本地庫

gitcommit-m"這里填備注,隨便寫"good.txt#把暫存區(qū)的內(nèi)容(good.txt文件)提交到本地庫

5 讓小雅加小劉為好友

登錄小雅的github 打開小雅的xxx庫->settings->collaborators->填上劉堯的github用戶名->點(diǎn)擊Copy invite link->復(fù)制小雅xxx遠(yuǎn)程庫地址。把地址發(fā)送給小劉,不管是微信還是QQ都可以。

6 小劉接受小雅的邀請(qǐng)

小劉登錄自己的github,訪問小雅發(fā)送給自己的鏈接。會(huì)發(fā)現(xiàn)小雅邀請(qǐng)自己的界面,點(diǎn)擊接受就好了。

7 執(zhí)行推送

在小劉的本地文件夾執(zhí)行

gitpushoriginmaster#執(zhí)行推送

解決Github下載速度慢的問題

GitHub是一個(gè)巨大的開源寶庫,以及程序員和編程愛好者的聚集地,諸多優(yōu)秀的開源項(xiàng)目全部都是位于GitHub上。但是每當(dāng)我們準(zhǔn)備去下載一個(gè)優(yōu)秀的開源項(xiàng)目時(shí),會(huì)發(fā)現(xiàn) git clone的速度異常之慢!因?yàn)間ithub的服務(wù)器遠(yuǎn)在美國。小項(xiàng)目等幾分鐘無所謂;一旦項(xiàng)目龐大起來,或者項(xiàng)目文件數(shù)目一多, git clone 大概率會(huì)失??!當(dāng)然網(wǎng)上常見的諸如修改hosts、代理等方式實(shí)際使用效果并不好,而且也不穩(wěn)定。

GitHub下載的加速方法:通過國內(nèi)碼云平臺(tái)的轉(zhuǎn)接,來完成GitHub上項(xiàng)目的下載加速。碼云是馬云團(tuán)隊(duì)開發(fā)的國內(nèi)版github。

注冊(cè)碼云

首先確保碼云上有賬戶,可以正常使用,沒有的可以自行注冊(cè)一下,注冊(cè)賬號(hào)這件事應(yīng)該是非常的簡單了。

將github的倉庫轉(zhuǎn)移到碼云

1.點(diǎn)擊右上角新建倉庫的加號(hào) +,選擇“從 GitHub/GitLab導(dǎo)入倉庫”菜單

2.然后填寫位于 GitHub上你想 clone的倉庫地址并導(dǎo)入

3.這一步交給碼云來做速度是非??斓?,一會(huì)兒功夫,碼云就克隆出了一份和GitHub上一模一樣的項(xiàng)目!

4.接下來我們通過碼云上的項(xiàng)目地址,將項(xiàng)目clone到本地,這時(shí)候的clone速度就很快了,幾 MB/s的速度是沒問題的,很快項(xiàng)目就下載下來了。

這時(shí)候我們的目的已經(jīng)達(dá)到了,不過不要忘了,還有一件事沒做。

重新關(guān)聯(lián)遠(yuǎn)端地址

要知道,這時(shí)候克隆到本地的項(xiàng)目關(guān)聯(lián)的是碼云Gitee的地址,已經(jīng)和原來的GitHub項(xiàng)目完全脫離了,是另外一個(gè)副本。在必要情況下我們還需要重新將我們本地的項(xiàng)目關(guān)聯(lián)到原來的GitHub項(xiàng)目上去,做法如下: 首先找到位于本地倉庫目錄下的隱藏文件夾.git,注意這個(gè).git文件夾是隱藏的文件夾。然后再這個(gè)文件夾下找到config配置文件.將配置文件中的[remote"origin"].url字段重新關(guān)聯(lián)到原來位于GitHub上的GitHub項(xiàng)目地址

當(dāng)然你也可以通過命令行來修改遠(yuǎn)端地址,效果一樣的至此大功告成,本地項(xiàng)目就相當(dāng)于是clone自GitHub,后續(xù)提交代碼,到GitHub上都沒有問題。

責(zé)任編輯:lq

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

    關(guān)注

    1

    文章

    818

    瀏覽量

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

    關(guān)注

    0

    文章

    204

    瀏覽量

    16135
  • GitHub
    +關(guān)注

    關(guān)注

    3

    文章

    481

    瀏覽量

    17500

原文標(biāo)題:零基礎(chǔ)入門Git&Github

文章出處:【微信號(hào):mcu168,微信公眾號(hào):硬件攻城獅】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

收藏 0人收藏

    評(píng)論

    相關(guān)推薦
    熱點(diǎn)推薦

    主流版本控制工具Git vs Perforce P4:架構(gòu)模式、性能、大文件管理及分支管理對(duì)比詳解

    Git vs Perforce P4,如何選型?架構(gòu)模式、性能、大文件管理、分支策略四大維度對(duì)比,幫你全面了解兩者的核心差異,選擇更合適你團(tuán)隊(duì)需求的版本控制系統(tǒng)。
    的頭像 發(fā)表于 06-13 14:52 ?84次閱讀
    主流版本控制工具<b class='flag-5'>Git</b> vs Perforce P4:架構(gòu)模式、性能、大文件管理及分支管理對(duì)比詳解

    如何添加一些網(wǎng)絡(luò)上的庫到mpy固件的說明或手冊(cè)教程?

    嗎,項(xiàng)目目錄好多我真的看不懂,佬們救救我 repo init -u https://github.com/canmv-k230/manifest -b master --repo-url=https://github.com/canmv-k230/
    發(fā)表于 04-29 08:16

    Git的常規(guī)使用:Idea集成GitHub

    登錄之后點(diǎn)擊右上角+號(hào),New repository創(chuàng)建倉庫,之后填寫倉庫名稱和其他選項(xiàng)。
    的頭像 發(fā)表于 03-13 16:08 ?313次閱讀
    <b class='flag-5'>Git</b>的常規(guī)使用:Idea集成<b class='flag-5'>GitHub</b>

    Arm推出GitHub Copilot新擴(kuò)展程序

    Arm 控股有限公司(納斯達(dá)克股票代碼:ARM,以下簡稱“Arm”)宣布其已正式推出專為 GitHub Copilot 設(shè)計(jì)的新擴(kuò)展程序。GitHub Copilot 是全球部署最廣泛的人
    的頭像 發(fā)表于 02-24 10:14 ?504次閱讀

    嵌入式學(xué)習(xí)-飛凌嵌入式ElfBoard ELF 1板卡-移植前準(zhǔn)備之git管理內(nèi)核源碼

    我們前邊已經(jīng)介紹過Git工具,是一個(gè)非常實(shí)用的代碼管理工具。如果驗(yàn)證編譯出的內(nèi)核能夠正常啟動(dòng),就可以將源碼用git工具管理起來。可以清楚的了解源碼改動(dòng)記錄。如果不小心把源碼改亂了還可以進(jìn)行版本
    發(fā)表于 01-23 10:51

    飛凌嵌入式ElfBoard ELF 1板卡-移植前準(zhǔn)備之git管理內(nèi)核源碼

    我們前邊已經(jīng)介紹過Git工具,是一個(gè)非常實(shí)用的代碼管理工具。如果驗(yàn)證編譯出的內(nèi)核能夠正常啟動(dòng),就可以將源碼用git工具管理起來。可以清楚的了解源碼改動(dòng)記錄。如果不小心把源碼改亂了還可以進(jìn)行版本
    發(fā)表于 01-22 10:39

    飛凌嵌入式ElfBoard ELF 1板卡-git管理源碼之git安裝和使用

    丟失,被刪除意味著永遠(yuǎn)失去;為了解決這個(gè)痛點(diǎn),應(yīng)運(yùn)而生了一批版本管理工具,如:git、svn等。其中l(wèi)inux當(dāng)中最常用的當(dāng)屬git,因此學(xué)會(huì)使用git是十分必要的。
    發(fā)表于 01-14 09:08

    gitee 與 GitHub 的比較

    在軟件開發(fā)領(lǐng)域,代碼托管平臺(tái)扮演著至關(guān)重要的角色。它們不僅提供了代碼存儲(chǔ)和版本控制的功能,還促進(jìn)了團(tuán)隊(duì)協(xié)作和開源項(xiàng)目的共享。Gitee(碼云)和GitHub是兩個(gè)最著名的代碼托管服務(wù)提供商,它們?cè)?/div>
    的頭像 發(fā)表于 01-06 09:47 ?1327次閱讀

    GitHub Copilot與Bitbucket、Jira、Confluence集成使用指南

    如何將GitHub Copilot與Bitbucket、Jira和Confluence集成使用?實(shí)操指南有! 閱讀了解如何在Bitbucket存儲(chǔ)庫中輕松使用GitHub Copilot,以及
    的頭像 發(fā)表于 12-03 14:37 ?708次閱讀
    <b class='flag-5'>GitHub</b> Copilot與Bitbucket、Jira、Confluence集成使用指南

    Arm推出GitHub平臺(tái)AI工具

    專為 GitHub Copilot 設(shè)計(jì)的 Arm 擴(kuò)展程序,可加速從云到邊緣側(cè)基于 Arm 平臺(tái)的開發(fā)。
    的頭像 發(fā)表于 11-01 13:50 ?649次閱讀

    GitHub Copilot引入多模型支持

    近日,據(jù)外媒報(bào)道,GitHub正在為其代碼完成和編程工具Copilot引入多模型支持。這一舉措將為開發(fā)者提供更加靈活和多樣化的選擇。 在近日舉辦的GitHub Universe大會(huì)上,GitHub
    的頭像 發(fā)表于 10-31 11:49 ?929次閱讀

    微軟GitHub與Anthropic和谷歌合作

    近日,微軟旗下的GitHub宣布了一項(xiàng)重要合作,將Anthropic和谷歌的AI模型整合到其代碼助理中,為數(shù)百萬軟件開發(fā)者提供新的AI模型選項(xiàng)。
    的頭像 發(fā)表于 10-30 16:25 ?489次閱讀

    上傳本地項(xiàng)目代碼到github

    概述 GitHub是一個(gè)面向開源及私有軟件項(xiàng)目的托管平臺(tái),因?yàn)橹恢С?b class='flag-5'>git 作為唯一的版本庫格式進(jìn)行托管,故名GitHub。本文主要講解如何將本地代碼上傳至Github。
    發(fā)表于 09-11 16:33

    GitHub推出GitHub Models服務(wù),賦能開發(fā)者智能選擇AI模型

    8月2日,全球領(lǐng)先的代碼托管平臺(tái)GitHub宣布了一項(xiàng)重大創(chuàng)新——GitHub Models服務(wù)的正式推出。該服務(wù)被定位為AI時(shí)代的工程師助手,旨在幫助全球超過1億的GitHub用戶輕松找到并應(yīng)用最適合其項(xiàng)目需求的AI模型。
    的頭像 發(fā)表于 08-02 15:39 ?978次閱讀

    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

    電子發(fā)燒友

    中國電子工程師最喜歡的網(wǎng)站

    • 2931785位工程師會(huì)員交流學(xué)習(xí)
    • 獲取您個(gè)性化的科技前沿技術(shù)信息
    • 參加活動(dòng)獲取豐厚的禮品