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

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

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

什么是Git基本操作指令

汽車電子技術(shù) ? 來源: 嵌入式之入坑筆記 ? 作者:嵌入式之入坑筆記 ? 2023-02-10 11:32 ? 次閱讀

本文的內(nèi)容有下面的幾點(diǎn):

1、本地倉(cāng)庫(kù)的操作指令

2、倉(cāng)庫(kù)的遠(yuǎn)程操作

2.1、遠(yuǎn)程倉(cāng)庫(kù)操作

2.2、從遠(yuǎn)程倉(cāng)庫(kù)獲取項(xiàng)目

2.3、上傳項(xiàng)目到遠(yuǎn)程倉(cāng)庫(kù)

3、其他的指令

3.1、查看配置信息

3.2、查看倉(cāng)庫(kù)狀態(tài)

3.3、刪除版本庫(kù)中的文件

3.4、查看文件中修改了的內(nèi)容

3.5、查看歷史記錄

3.6、還原文件(回退)

4、分支管理指令

4.1、創(chuàng)建分支:

4.2、切換分支:

4.3、合并分支命令:

4.4、列出分支

4.5、分支合并

4.6、刪除分支

5、遠(yuǎn)程庫(kù)的基本指令整理

Git 的工作就是創(chuàng)建和保存你項(xiàng)目的快照及與之后的快照進(jìn)行對(duì)比。

Git 常用的命令有:

1)git clone - 克隆倉(cāng)庫(kù)內(nèi)容

2)git push - 推送到遠(yuǎn)程倉(cāng)庫(kù)

3)git add - 向本地倉(cāng)庫(kù)中添加文件

4)git commit - 提交工作區(qū)內(nèi)容到版本庫(kù)

5)git checkout -

6)git pull - 從遠(yuǎn)程倉(cāng)庫(kù)拉取內(nèi)容到工作臺(tái)

說明:

1)workspace — 工作區(qū)

2)staging area — 暫存區(qū)/緩存區(qū)

3)local repository — 版本庫(kù)或本地倉(cāng)庫(kù)

4)remote repository — 遠(yuǎn)程倉(cāng)庫(kù)

1、本地倉(cāng)庫(kù)的操作指令

簡(jiǎn)單的操作指令如下:

$ git init
$ git add .
$ git commit

1)git init - 初始化倉(cāng)庫(kù)。該命令執(zhí)行完后會(huì)在當(dāng)前目錄生成一個(gè) .git 目錄,所有 Git 需要的數(shù)據(jù)和資源都存放在這個(gè)目錄中。

2)git add . - 添加文件到暫存區(qū)。如果當(dāng)前目錄下有幾個(gè)文件想要納入版本控制,需要先用 git add 命令告訴 Git 開始對(duì)這些文件進(jìn)行跟蹤,然后提交。

3)git commit - 將暫存區(qū)的內(nèi)容提交到本地倉(cāng)庫(kù)。所有的更新都會(huì)被提交,包括文件、內(nèi)容更改等。

2、倉(cāng)庫(kù)的遠(yuǎn)程操作

2.1、遠(yuǎn)程倉(cāng)庫(kù)操作

git remote 命令用于在遠(yuǎn)程倉(cāng)庫(kù)的操作。如下所示:

1)顯示所有遠(yuǎn)程倉(cāng)庫(kù):

git remote -v

2)添加遠(yuǎn)程版本庫(kù):

git remote add [別名] [url 地址]

3)刪除遠(yuǎn)程倉(cāng)庫(kù)

git remote rm name

4)修改倉(cāng)庫(kù)名

git remote rename old_name new_name

2.2、從遠(yuǎn)程倉(cāng)庫(kù)獲取項(xiàng)目

git clone [項(xiàng)目地址]
git pull  [項(xiàng)目地址]
git fetch [項(xiàng)目地址]
git merge [目標(biāo)地址]/[分支]

git clone - 從遠(yuǎn)程庫(kù)中克隆項(xiàng)目到本地,是一個(gè)包含整個(gè)項(xiàng)目的版本庫(kù)文件夾。該命令通常用于新用戶 clone 項(xiàng)目,熟練之后基本都是用 git pull直接拉取項(xiàng)目。

**git pull - **從遠(yuǎn)程倉(cāng)庫(kù)下載代碼并合并到本地倉(cāng)庫(kù)中。

**git fetch - **從遠(yuǎn)程倉(cāng)庫(kù)獲取最新的更新內(nèi)容(即本地沒有的數(shù)據(jù))。

git merge - 將遠(yuǎn)程倉(cāng)庫(kù)上的所有更新內(nèi)容(假設(shè)已經(jīng)被推送到服務(wù)器了)合并到你的當(dāng)前分支。

2.3、上傳項(xiàng)目到遠(yuǎn)程倉(cāng)庫(kù)

從將本地的分支版本上傳到遠(yuǎn)程并合并可以使用 git push,如下:

git push <遠(yuǎn)程主機(jī)名> <本地分支名>:<遠(yuǎn)程分支名>

如果本地分支名與遠(yuǎn)程分支名相同,可以省略冒號(hào):

git push <遠(yuǎn)程主機(jī)名> <本地分支名>

注意:

1)如果本地版本與遠(yuǎn)程版本有差異,但又要強(qiáng)制推送可以使用 --force 參數(shù)

git push --force origin master

2)刪除主機(jī)的分支可以使用 --delete 參數(shù),以下命令表示刪除 origin 主機(jī)的 master 分支:

git push origin --delete master

3、其他的指令

3.1、查看配置信息

git config --list

3.2、查看倉(cāng)庫(kù)狀態(tài)

git status

git status 命令用于查看在你上次提交之后是否有對(duì)文件進(jìn)行再次修改。

3.3、刪除版本庫(kù)中的文件

git rm  xxx.txt

注意:這個(gè)命令使用了之后,要 git commit -m “xxx”之后才算是真正的刪除了。

如果刪除之前修改過并且已經(jīng)放到暫存區(qū)域的話,則必須要用強(qiáng)制刪除選項(xiàng) -f。

git rm -f xxx

如果想把文件從暫存區(qū)域移除,但仍然希望保留在當(dāng)前工作目錄中,即從跟蹤清單中刪除,使用 --cached 選項(xiàng)即可:

git rm --cached <file>

3.4、查看文件中修改了的內(nèi)容

git diff xxx.txt  比較當(dāng)前工作空間與staging area,查看工作空間的變化


  git diff --cached  比較staging area與本地倉(cāng)庫(kù),查看暫存區(qū)中變化

  git diff HEAD    比較當(dāng)前工作空間與本地倉(cāng)庫(kù)

  git diff newbranch  比較當(dāng)前工作空間與newbranch分支

  git diff tag1 tag2  比較tag1與tag2

  git diff tag1:file1 tag2:file2  比較tag1的file1與tag2的file2

  git diff tag1 tag2 file  比較tag1與tag2的file文件

  git diff --stat    統(tǒng)計(jì)有差異的文件個(gè)數(shù)

3.5、查看歷史記錄

git log
git log
  查看全部提交日志
git log -5
  查看最近5次的提交日志
git log –p
  查看所有提交日志及修改的內(nèi)容
git log –p --author=“scott”
  查看所有scott提交日志及修改內(nèi)容
git log --since=“2011-05-24”
  查看2011-05-24以后所有的提交日志
git log --graph
  查看提交日志,以圖形方式顯示
git log --since=“2 days ago”
  查看這兩天的提交日志
git log --until=“2011-05-25”
  查看截止2011-05-25所有的提交日志
git log --name-only
  查看所有修改過的文件
git log --pretty=oneline
  查看提交日志,一行顯示
git log --pretty=format:%h:%s
  查看提交日志,顯示sha1及提交comments

3.6、還原文件(回退)

git revert和git reset的區(qū)別:
git revert 是撤銷某次操作,此次操作之前的commit都會(huì)被保留
git reset 是撤銷某次提交,但是此次之后的修改都會(huì)被退回到暫存區(qū)
git reset --hard
   取消commit,取消add,取消源文件修改
git reset --soft
   取消commit
git reset --mixed
   取消commit,取消add,是默認(rèn)模式


git reset --hard HEAD   (比較下)
  恢復(fù)到HEAD狀態(tài)
git reset --hard HEAD^
  徹底撤銷最近一次提交
git reset --hard HEAD~3
  徹底撤銷最近3次提交
git reset  --soft HEAD~3
  撤銷最近3commit,恢復(fù)到index狀態(tài),并且工作空間文件內(nèi)容不變
git reset HEAD filename
  刪除暫存的文件


git revert
   撤銷某次提交,此次操作之前的commit都會(huì)被保留,但撤銷也會(huì)作為一次提交進(jìn)行保存。
git commit --amend
修改最后一次提交。
如果上次提交時(shí)遺漏了文件,可以在提交后將文件加入緩存然后用該命令提交即可。
如果緩存中內(nèi)容沒有任何修改,只更新修改的提交注釋。

回退版本之后,如果推送遠(yuǎn)程庫(kù)是發(fā)生錯(cuò)誤信息時(shí)可以用:

git push -f [ ] [ ]  強(qiáng)推上去

4、分支管理指令

幾乎所有的版本控制系統(tǒng)都可以支持分支。使用分支意味著你可以從開發(fā)主線上分離開來,然后在不影響主線的情況下繼續(xù)開展你自己的工作。

4.1、創(chuàng)建分支:

git branch (branchname)
git checkout -b (branchname)  //創(chuàng)建新分支并立即切換到該分支下

4.2、切換分支:

git checkout (branchname)

當(dāng)你切換分支的時(shí)候,Git 會(huì)用該分支的最后提交的快照替換你的工作目錄的內(nèi)容, 所以多個(gè)分支不需要多個(gè)目錄。

4.3、合并分支命令:

git merge

你可以多次合并到統(tǒng)一分支, 也可以選擇在合并之后直接刪除被并入的分支。

4.4、列出分支

列出分支基本命令:

git branch

沒有參數(shù)時(shí),git branch 會(huì)列出你在本地的分支。

$ git branch
* master

這里的意思是:有一個(gè)叫做 master 的分支,并且該分支是當(dāng)前分支。

注意:當(dāng)你執(zhí)行 git init 的時(shí)候,默認(rèn)情況下 Git 就會(huì)為你創(chuàng)建 master 分支。

4.5、分支合并

一旦某分支有了獨(dú)立內(nèi)容,你最終會(huì)希望將它合并回到你的主分支。你可以使用以下命令將任何分支合并到當(dāng)前分支中去:

git merge [分支名]

4.6、刪除分支

合并完后就可以刪除分支:

$ git branch -d newtest
Deleted branch newtest (was c1501a2).

刪除后, 就只剩下 master 分支了:

$ git branch
* master

5、遠(yuǎn)程庫(kù)的基本指令整理

git clone 從遠(yuǎn)程庫(kù)中克隆項(xiàng)目到本地,是一個(gè)包含整個(gè)項(xiàng)目的版本庫(kù)文件夾。該命令通常用于新用戶 clone 項(xiàng)目,后面基本都是用 git pull。
git remote 查看遠(yuǎn)程庫(kù)的別名(進(jìn)入 clone 下來的文件夾中執(zhí)行該命令,別名默認(rèn)是 origin)
git remote –v 查看遠(yuǎn)程庫(kù)的別名和倉(cāng)庫(kù)地址。如返回: origin git@gitee.com:ivyli2019/test.git
git push origin master 把本地 master 分支推送到別名為 origin 的遠(yuǎn)程庫(kù)
git remote add mytest [url] 添加/關(guān)聯(lián)一個(gè)遠(yuǎn)程倉(cāng)庫(kù),并起別名為 mytest,可自定義別名。
git remote remove mytest 刪除遠(yuǎn)程庫(kù)的 mytest 別名
git branch -a 查看當(dāng)前所有的分支,默認(rèn)只有 master 分支
git branch test 創(chuàng)建 test 分支
git branch –d test 刪除 test 分支
git checkout test 從當(dāng)前分支切換到 test 分支
git checkout –b dev 創(chuàng)建 dev 分支,并切換到 dev 分支上
git merge dev 在當(dāng)前分支上合并 dev 分支
命令 說明
git add 添加文件到倉(cāng)庫(kù)
git status 查看倉(cāng)庫(kù)當(dāng)前的狀態(tài),顯示有變更的文件。
git diff 比較文件的不同,即暫存區(qū)和工作區(qū)的差異。
git commit 提交暫存區(qū)到本地倉(cāng)庫(kù)。
git reset 回退版本。
git rm 刪除工作區(qū)文件。
git mv 移動(dòng)或重命名工作區(qū)文件。
命令 說明
git log 查看歷史提交記錄
git blame 以列表形式查看指定文件的歷史修改記錄
聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 項(xiàng)目
    +關(guān)注

    關(guān)注

    0

    文章

    33

    瀏覽量

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

    關(guān)注

    0

    文章

    195

    瀏覽量

    15688
收藏 人收藏

    評(píng)論

    相關(guān)推薦

    Git常用的超級(jí)實(shí)用命令

    的一些Git工作流。 1 Git 常用的超級(jí)實(shí)用命令 1.1 與倉(cāng)庫(kù)相關(guān)的操作 克隆代碼倉(cāng)庫(kù)到本地,開發(fā)必用 git clone 查看本地倉(cāng)庫(kù)配置了那些對(duì)應(yīng)的遠(yuǎn)程倉(cāng)庫(kù)。
    的頭像 發(fā)表于 10-09 17:19 ?1063次閱讀
    <b class='flag-5'>Git</b>常用的超級(jí)實(shí)用命令

    邏輯操作指令

    邏輯操作指令 邏輯操作指令共有效25條,有與、或、異或、求反、左右移位、清0等邏輯操作,對(duì)應(yīng)的尋址方式有直接、寄存器和間接尋址,該類
    發(fā)表于 03-14 15:34 ?1837次閱讀

    Git Hooks持續(xù)集成詳解

    1.了解Git Hooks Hook是Git系統(tǒng)的本地機(jī)制,用于在諸如代碼提交(Commit)和合并(Merge)之類的操作之前或之后觸發(fā)的定制化腳本,可以把它們看作是Git的插件系統(tǒng)
    發(fā)表于 09-28 13:09 ?0次下載

    Git是什么?Git的基本使用資料說明

      Git是什么? Git是目前世界上最先進(jìn)的分布式版本控制系統(tǒng)(沒有之一)。
    發(fā)表于 05-29 17:56 ?1次下載
    <b class='flag-5'>Git</b>是什么?<b class='flag-5'>Git</b>的基本使用資料說明

    Git 命令+原理 程序員必備的基礎(chǔ)

    掌握Git命令是每位程序員必備的基礎(chǔ),之前一直是用smartGit工具,直到看到大佬們都是在用Git命令操作的,回想一下,發(fā)現(xiàn)有些Git命令我都忘記了,于是寫了這篇博文,復(fù)習(xí)一下~ 文
    的頭像 發(fā)表于 11-14 10:01 ?1670次閱讀
    <b class='flag-5'>Git</b> 命令+原理 程序員必備的基礎(chǔ)

    通俗易懂的Git指令的本質(zhì)

    ? 碰見版本回退就抓瞎?別問我怎么知道的,問就是:“我曾經(jīng)就是這樣啊~~”。 針對(duì)這些問題,今天我就將這幾年對(duì)Git的認(rèn)知和理解分享出來,盡可能的從本質(zhì)去講解Git,幫助你一步一步去了解Git的底層原理,相信讀完本篇文章你便可以
    的頭像 發(fā)表于 06-24 18:06 ?1381次閱讀

    操作指令

    ?? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?位操作指令操作指令操作又稱為布爾
    發(fā)表于 01-13 13:54 ?3次下載
    位<b class='flag-5'>操作</b><b class='flag-5'>指令</b>

    GIT合代碼的經(jīng)典操作場(chǎng)景

    git對(duì)于大家應(yīng)該都不太陌生,熟練使用git已經(jīng)成為程序員的一項(xiàng)基本技能,盡管在工作中有諸如 Sourcetree這樣牛X的客戶端工具,使得合并代碼變的很方便。但找工作面試和一些需彰顯個(gè)人實(shí)力的場(chǎng)景,仍然需要我們掌握足夠多的git
    的頭像 發(fā)表于 04-09 16:42 ?1457次閱讀

    利用Learn Git Branching輕松學(xué)習(xí)Git

    托管網(wǎng)站,與他人協(xié)作管理推進(jìn)開源項(xiàng)目必須要掌握的工具。 而Git中的常用操作,雖然上手難度低,但涉及到細(xì)節(jié)處尤其是多分支操作,難免會(huì)讓很多新手犯糊涂,今天我就給大家推薦一個(gè)開源項(xiàng)目,幫助使用者在輕松游戲的過程中熟練掌握
    的頭像 發(fā)表于 09-15 14:53 ?1436次閱讀

    Git的使用

    Git的使用
    的頭像 發(fā)表于 01-10 16:45 ?875次閱讀

    如何設(shè)置Git的SSH秘鑰

    Git之后,感覺Git比Svn好用多了,Svn在大的代碼情況下,那下載和上傳的速度懂的人都懂??!下面記錄一下使用ssh秘鑰鏈接本地與遠(yuǎn)程代碼庫(kù)的操作方法。
    的頭像 發(fā)表于 02-10 11:30 ?1784次閱讀
    如何設(shè)置<b class='flag-5'>Git</b>的SSH秘鑰

    git rebase和git merge的區(qū)別

    ? 解決沖突 git rebase和git merge的區(qū)別 分支合并 git merge是用來合并兩個(gè)分支的。 比如:將 b 分支合并到當(dāng)前分支。 同樣git rebase b,也是
    的頭像 發(fā)表于 07-05 09:54 ?544次閱讀
    <b class='flag-5'>git</b> rebase和<b class='flag-5'>git</b> merge的區(qū)別

    Git是什么 Git介紹

    git 是什么? Git 誕生于 2005 年,是一款免費(fèi)、開源、分布式版本控制系統(tǒng)。 直接記錄快照,而非差異比較 Git 和其它版本控制系統(tǒng)的主要差別在于 Git 對(duì)待數(shù)據(jù)的方式。
    的頭像 發(fā)表于 07-22 10:50 ?1634次閱讀
    <b class='flag-5'>Git</b>是什么 <b class='flag-5'>Git</b>介紹

    Git撤消操作的方法

    撤消操作 在任何一個(gè)階段,你都有可能想要撤消某些操作。注意,有些撤消操作是不可逆的。 有時(shí)候我們提交完了才發(fā)現(xiàn)漏掉了幾個(gè)文件沒有添加,或者提交信息寫錯(cuò)了。此時(shí),可以運(yùn)行帶有 --amend 選項(xiàng)
    的頭像 發(fā)表于 07-22 11:29 ?524次閱讀

    git基本操作命令用法

    基本用法 上面的四條命令在工作目錄、暫存目錄(也叫做索引)和倉(cāng)庫(kù)之間復(fù)制文件。 git add files把當(dāng)前文件放入暫存區(qū)域。 git commit給暫存區(qū)域生成快照并提交。 git reset
    的頭像 發(fā)表于 09-13 16:29 ?696次閱讀
    <b class='flag-5'>git</b>基本<b class='flag-5'>操作</b>命令用法