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

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

了解Git和Github

GReq_mcu168 ? 來源:玩轉單片機 ? 作者:玩轉單片機 ? 2020-10-30 11:32 ? 次閱讀

了解Git和Github

什么是Git

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

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

GitHub是一個面向開源及私有軟件項目的托管平臺,因為只支持git 作為唯一的版本庫格式進行托管,故名GitHub。Github是全球最大的社交編程及代碼托管。https://github.com。Github可以托管各種git庫,并提供一個web界面(用戶名.github.io/倉庫名),作為一名編程開發(fā)人員如果不知道github那真的out了。

Github和Git是什么關系

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

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

為什么學習github

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

Git安裝和使用

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


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


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


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


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


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


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


7.選擇 Git 在使用 HTTPS 時使用的庫,若無特殊需求,可保持默認選項,點擊 “Next” 繼續(xù)安裝:


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


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


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


11.安裝完成


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

Git基本工作流程

1 Git結構

2 本地庫和遠程庫

團隊內部協(xié)作

跨團隊協(xié)作

Git 命令行操作

1 本地庫初始化

gitinit

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

2 設置簽名

1.方式一(項目級別/倉庫級別:僅在當前本地庫范圍內有效)

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

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

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

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

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

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

辨析:這里設置的簽名和登錄遠程庫(代碼托管中心github)的賬號、密碼沒有任何關系。

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

Git基本操作

1 狀態(tài)查看

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

2 添加

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

3 提交

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

4 查看歷史記錄

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

本地庫與遠程庫建立連接

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

gitinit#初始化本地庫

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

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

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

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

4.將本地庫推送到遠程庫

#本地庫推送到遠程庫 gitpushoriginmaster

克隆遠程庫

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

1.克隆遠程庫到本地

gitclone[遠程地址] #gitclonehttps://github.com/zhangsan/cdn.git

多人協(xié)作

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

1 克隆

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

這樣你就把小雅的xxx遠程庫克隆到你的本地庫。

2 修改文件

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

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

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

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

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

5 讓小雅加小劉為好友

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

6 小劉接受小雅的邀請

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

7 執(zhí)行推送

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

gitpushoriginmaster#執(zhí)行推送

解決Github下載速度慢的問題

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

GitHub下載的加速方法:通過國內碼云平臺的轉接,來完成GitHub上項目的下載加速。碼云是馬云團隊開發(fā)的國內版github。

注冊碼云

首先確保碼云上有賬戶,可以正常使用,沒有的可以自行注冊一下,注冊賬號這件事應該是非常的簡單了。

將github的倉庫轉移到碼云

1.點擊右上角新建倉庫的加號 +,選擇“從 GitHub/GitLab導入倉庫”菜單

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

3.這一步交給碼云來做速度是非??斓模粫汗Ψ?,碼云就克隆出了一份和GitHub上一模一樣的項目!

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

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

重新關聯(lián)遠端地址

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

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

責任編輯:lq

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

    關注

    1

    文章

    797

    瀏覽量

    30929
  • Git
    Git
    +關注

    關注

    0

    文章

    195

    瀏覽量

    15688
  • GitHub
    +關注

    關注

    3

    文章

    461

    瀏覽量

    16236

原文標題:零基礎入門Git&Github

文章出處:【微信號:mcu168,微信公眾號:硬件攻城獅】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦

    上傳本地項目代碼到github

    概述 GitHub是一個面向開源及私有軟件項目的托管平臺,因為只支持git 作為唯一的版本庫格式進行托管,故名GitHub。本文主要講解如何將本地代碼上傳至Github
    發(fā)表于 09-11 16:33

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

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

    通過git命令獲取ESP8266_RTOS_SDK失敗如何解決?

    : tommy@tommy-RC410-RC510-RC710:~/esp$ git clone --recursive https://github.com/espressif/ESP8266_RTOS_SDK.git
    發(fā)表于 06-07 07:26

    藍牙 | 軟件:Git管理高通的ChipCode項目

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

    Git命令解決常見場景記錄

    本文主要歸納一下git的學習記錄,在開發(fā)期間發(fā)現(xiàn)了git在sourcetree的處理不是很好,對于多選文件的丟棄這點不是很方便,所以做一個記錄,由于項目中有新建的文件,所以被識別為未跟蹤的文件,但我
    的頭像 發(fā)表于 12-20 09:44 ?327次閱讀
    用<b class='flag-5'>Git</b>命令解決常見場景記錄

    git切換遠程地址分支方式

    git remote set-url origin URL】 更換遠程倉庫地址,URL為新地址。
    的頭像 發(fā)表于 12-18 09:35 ?1773次閱讀

    Git命令之本地分支與遠程分支關聯(lián)和解除

    在實際的工作生活中,往往需要將本地的分支和遠程分支關聯(lián),這樣我們就可以使用git pull命令來更新拉取最新的代碼,并使用git push命令將自己本地的修改推送到遠程倉庫。但是如果此時你本地關聯(lián)
    的頭像 發(fā)表于 12-15 09:27 ?2190次閱讀
    <b class='flag-5'>Git</b>命令之本地分支與遠程分支關聯(lián)和解除

    GitHub入門與實踐

    GitHub 是一個基于 Git 版本控制系統(tǒng)的代碼托管平臺,它提供了許多功能和用途,主要面向軟件開發(fā)和協(xié)作。以下是 GitHub 的主要用途和一些關鍵技術:GitHub 的主要用途:
    發(fā)表于 12-14 09:53 ?4次下載

    git命令的基本使用

    git config 第一次使用git或者剛安裝的git時,使用此命令設置身份Name 和 Eamail 地址。并且每次提交時會使用此信息。
    的頭像 發(fā)表于 12-11 13:53 ?807次閱讀

    重塑GitHub、顛覆程序開發(fā):GitHub Universe 2023發(fā)布重大更新

    所說:“就像 GitHub 是在 Git 基礎上構建的一樣,今天我們正在 Copilot 的基礎上重新構建它。”
    的頭像 發(fā)表于 11-09 15:54 ?654次閱讀
    重塑<b class='flag-5'>GitHub</b>、顛覆程序開發(fā):<b class='flag-5'>GitHub</b> Universe 2023發(fā)布重大更新

    Git是如何存儲文件的?Git的工作原理解析

    我以為我已經(jīng)對 Git 的工作方式了如指掌,但我以前從未真正涉及過打包文件,所以這次探索很有趣。我也很少思考當我讓 git log 跟蹤一個文件的歷史時,它實際上有多大的工作量,因此也很開心能深入研究這個。
    的頭像 發(fā)表于 10-31 15:36 ?486次閱讀

    Git中最常用的命令介紹

    git add命令用于將修改的文件添加到下一次提交的暫存區(qū)。你可以指定要添加的文件git add命令用于將修改的文件添加到下一次提交的暫存區(qū)。你可以指定要添加的文件,例如git add file1.txt file2.txt。
    發(fā)表于 10-26 10:27 ?182次閱讀
    <b class='flag-5'>Git</b>中最常用的命令介紹

    一文搞懂版本控制與Git

    在這個碼代碼的時代,我們越來越離不開版本控制工具。而在眾多版本控制工具中,Git無疑是最為強大和流行的。
    的頭像 發(fā)表于 10-20 09:46 ?357次閱讀
    一文搞懂版本控制與<b class='flag-5'>Git</b>

    Git常用的超級實用命令

    Git作為最流行的代碼版本控制工具,基本上已經(jīng)成為了程序員的一個標配技能。無論使用GitHub,GitLib,Gitee等進行代碼托管,均基于Git。下面聊一聊開發(fā)人員必會的幾個Git
    的頭像 發(fā)表于 10-09 17:19 ?1063次閱讀
    <b class='flag-5'>Git</b>常用的超級實用命令

    如何在 Git 中恢復隱藏的修改記錄

    git stash 和 git stash pop 這樣的命令是用來擱置(藏匿)和恢復我們工作目錄中的變化的。在本教程中,我們將學習如何在 Git 中恢復隱藏的修改記錄。 在工作目錄中存儲更改
    的頭像 發(fā)表于 10-09 14:09 ?813次閱讀