国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

Git基本操作(超詳細(xì))

這篇具有很好參考價(jià)值的文章主要介紹了Git基本操作(超詳細(xì))。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問(wèn)。

Git基本操作(超詳細(xì)),南橋談Git,git,elasticsearch,大數(shù)據(jù),編輯器

創(chuàng)建Git本地倉(cāng)庫(kù)

倉(cāng)庫(kù)是進(jìn)?版本控制的?個(gè)?件?錄

我們要想對(duì)?件進(jìn)?版本控制,就必須先創(chuàng)建?個(gè)倉(cāng)庫(kù)出來(lái)。

首先創(chuàng)建一個(gè)gitcode目錄來(lái)存放git,

創(chuàng)建?個(gè)Git本地倉(cāng)庫(kù)對(duì)應(yīng)的命令為 git init

Git基本操作(超詳細(xì)),南橋談Git,git,elasticsearch,大數(shù)據(jù),編輯器

查看當(dāng)前目錄,發(fā)現(xiàn)多了個(gè)隱藏文件.git

Git基本操作(超詳細(xì)),南橋談Git,git,elasticsearch,大數(shù)據(jù),編輯器
.git ?錄是Git來(lái)跟蹤管理倉(cāng)庫(kù)的,不要?動(dòng)修改這個(gè)?錄??的?件,不然改亂了,就把Git倉(cāng)庫(kù)給破壞了

其中包含Git倉(cāng)庫(kù)的諸多細(xì)節(jié):

Git基本操作(超詳細(xì)),南橋談Git,git,elasticsearch,大數(shù)據(jù),編輯器

配置Git

當(dāng)安裝Git后?先要做的事情是設(shè)置你的用戶名稱(chēng)和e-mail地址,這是?常重要的

配置命令

git config [--global] user.name "Your Name"
git config [--global] user.email "email@example.com"

Git基本操作(超詳細(xì)),南橋談Git,git,elasticsearch,大數(shù)據(jù),編輯器

其中 --global 是?個(gè)可選項(xiàng)。如果使?了該選項(xiàng),表?這臺(tái)機(jī)器上所有的Git倉(cāng)庫(kù)都會(huì)使?這個(gè)配置。如果你希望在不同倉(cāng)庫(kù)中使?不同的 namee-mail ,可以不要--global選項(xiàng),但要注意的是,執(zhí)?命令時(shí)必須要在倉(cāng)庫(kù)里。

查看是否配置成功

git config -l

Git基本操作(超詳細(xì)),南橋談Git,git,elasticsearch,大數(shù)據(jù),編輯器

重置配置

git config [--global] --unset user.name
git config [--global] --unset user.email

工作區(qū)、暫存區(qū)、版本庫(kù)

Git基本操作(超詳細(xì)),南橋談Git,git,elasticsearch,大數(shù)據(jù),編輯器
目前情況下,ReadMe文件能夠被Git管理?
不行!

先來(lái)了解以下幾個(gè)概念:

Git基本操作(超詳細(xì)),南橋談Git,git,elasticsearch,大數(shù)據(jù),編輯器
Git基本操作(超詳細(xì)),南橋談Git,git,elasticsearch,大數(shù)據(jù),編輯器

? ?作區(qū):是在電腦上你要寫(xiě)代碼或?件的?錄。
? 暫存區(qū):英?叫stage或index。?般存放在 .git ?錄下的index?件(.git/index)中,我們把暫存區(qū)有時(shí)也叫作索引(index)。
? 版本庫(kù):?名倉(cāng)庫(kù),英?名 repository 。?作區(qū)有?個(gè)隱藏?錄 .git ,它不算?作區(qū),?是Git的版本庫(kù)。這個(gè)版本庫(kù)??的所有?件都可以被Git管理起來(lái),每個(gè)?件的修改、刪除,Git都能跟蹤,以便任何時(shí)刻都可以追蹤歷史,或者在將來(lái)某個(gè)時(shí)刻可以“還原”。

下?這個(gè)圖展?了?作區(qū)、暫存區(qū)和版本庫(kù)之間的關(guān)系:

Git基本操作(超詳細(xì)),南橋談Git,git,elasticsearch,大數(shù)據(jù),編輯器

當(dāng)對(duì)?作區(qū)修改(或新增)的?件執(zhí)?git add命令時(shí),暫存區(qū)?錄樹(shù)的?件索引會(huì)被更新。
當(dāng)執(zhí)?提交操作 git commit 時(shí),master分?會(huì)做相應(yīng)的更新,可以簡(jiǎn)單理解為暫存區(qū)的?錄樹(shù)才會(huì)被真正寫(xiě)到版本庫(kù)中。

通過(guò)新建或粘貼進(jìn)?錄的?件,并不能稱(chēng)之為向倉(cāng)庫(kù)中新增?件,?只是
在?作區(qū)新增了?件。必須要通過(guò)使?git addgit commit命令才能將?件添加到倉(cāng)庫(kù)中進(jìn)?管理?。。?/strong>

如何進(jìn)行版本控制??
Git基本操作(超詳細(xì)),南橋談Git,git,elasticsearch,大數(shù)據(jù),編輯器

在版本庫(kù)中,還有一個(gè)對(duì)象庫(kù),稱(chēng)之為object,被版本庫(kù)維護(hù)

當(dāng)我們?cè)?code>add操作時(shí),新增工作區(qū)修改的時(shí)候,會(huì)將修改的內(nèi)容寫(xiě)入到一個(gè)git對(duì)象中,這個(gè)git對(duì)象就會(huì)被維護(hù)到git對(duì)象庫(kù)里面,這里就做到了對(duì)文件版本的管理。

添加文件–場(chǎng)景一

概述

在包含.git的?錄下新建?個(gè)ReadMe?件,我們可以使? git add 命令可以將?件添加到暫存區(qū):

? 添加?個(gè)或多個(gè)?件到暫存區(qū): git add [file1] [file2] ...
? 添加指定?錄到暫存區(qū),包括??錄: git add [dir]
? 添加當(dāng)前?錄下的所有?件改動(dòng)到暫存區(qū): git add .

再使? git commit 命令將暫存區(qū)內(nèi)容添加到本地倉(cāng)庫(kù)中:

? 提交暫存區(qū)全部?jī)?nèi)容到本地倉(cāng)庫(kù)中:git commit -m "message"
? 提交暫存區(qū)的指定?件到倉(cāng)庫(kù)區(qū): git commit [file1] [file2] ... -m "message"

注意 git commit 后?的 -m 選項(xiàng),要跟上描述本次提交的message,由????完成,這部分內(nèi)容絕對(duì)不能省略,并要好好描述,是?來(lái)記錄你的提交細(xì)節(jié),是給我們?看的。

實(shí)例操作

ReadMe文件中輸入內(nèi)容:
Git基本操作(超詳細(xì)),南橋談Git,git,elasticsearch,大數(shù)據(jù),編輯器

add操作:
git add ReadMeReadMe文件添加
git add .將當(dāng)前目錄下的所有文件添加
Git基本操作(超詳細(xì)),南橋談Git,git,elasticsearch,大數(shù)據(jù),編輯器
此時(shí)將該文件添加到暫存區(qū)

commit操作:

命令: git commit -m " "," "里面的內(nèi)容是細(xì)節(jié),需要詳細(xì)描述一下

Git基本操作(超詳細(xì)),南橋談Git,git,elasticsearch,大數(shù)據(jù),編輯器
此時(shí)將暫存區(qū)的文件添加到倉(cāng)庫(kù)中

還可以多次add不同的?件,?只commit?次便可以提交所有?件,是因?yàn)樾枰峤坏?件是通通被add到暫存區(qū)中,然后?次性commit暫存區(qū)的所有修改:

[gwj@iZf8zhv7mi2thjdxsptkb8Z gitcode]$ touch file1 file2 file3
[gwj@iZf8zhv7mi2thjdxsptkb8Z gitcode]$ git add file1 file2 file3
[gwj@iZf8zhv7mi2thjdxsptkb8Z gitcode]$ git commit -m "add 3files"
[master c98e197] add 3files
 3 files changed, 0 insertions(+), 0 deletions(-)
 create mode 100644 file1
 create mode 100644 file2
 create mode 100644 file3

Git基本操作(超詳細(xì)),南橋談Git,git,elasticsearch,大數(shù)據(jù),編輯器

截??前為?,我們已經(jīng)更夠?qū)⒋a直接提交?本地倉(cāng)庫(kù)了。我們可以使? git log 命令,來(lái)查看下歷史提交記錄:

[gwj@iZf8zhv7mi2thjdxsptkb8Z gitcode]$ git log
commit c98e19749759f8e8c85373b8d8b643f9b2103f63
Author: gwj <2953778678@qq.com>
Date:   Sun Feb 18 16:32:31 2024 +0800

    add 3files

commit 4a98215b5ada82146bb128e829f356cf546b5514
Author: gwj <2953778678@qq.com>
Date:   Sun Feb 18 13:22:41 2024 +0800

    add first file
[gwj@iZf8zhv7mi2thjdxsptkb8Z gitcode]$ 

Git基本操作(超詳細(xì)),南橋談Git,git,elasticsearch,大數(shù)據(jù),編輯器

上述顯示比較復(fù)雜,使用命令git log --pretty=oneline,可以只顯示一行:

Git基本操作(超詳細(xì)),南橋談Git,git,elasticsearch,大數(shù)據(jù),編輯器

需要說(shuō)明的是,我們看到的??串類(lèi)似 23807c5…56eed6 的是每次提交的commit id (版本號(hào)),Git的 commit id 不是1,2,3……遞增的數(shù)字,?是?個(gè)SHA1計(jì)算出來(lái)的?個(gè)?常?的數(shù)字,??六進(jìn)制表?

查看.git文件

首先打開(kāi).git目錄文件:

[gwj@iZf8zhv7mi2thjdxsptkb8Z gitcode]$ tree .git/
.git/
├── branches
├── COMMIT_EDITMSG
├── config
├── description
├── HEAD
├── hooks
│?? ├── applypatch-msg.sample
│?? ├── commit-msg.sample
│?? ├── post-update.sample
│?? ├── pre-applypatch.sample
│?? ├── pre-commit.sample
│?? ├── prepare-commit-msg.sample
│?? ├── pre-push.sample
│?? ├── pre-rebase.sample
│?? └── update.sample
├── index
├── info
│?? └── exclude
├── logs
│?? ├── HEAD
│?? └── refs
│??     └── heads
│??         └── master
├── objects
│?? ├── 36
│?? │?? └── 433addfb1f43c0e073e56442ca97184a317faa
│?? ├── 4a
│?? │?? └── 98215b5ada82146bb128e829f356cf546b5514
│?? ├── 4e
│?? │?? └── 786c2e4531dfd9c8622da069607a5e82716e19
│?? ├── c9
│?? │?? └── 8e19749759f8e8c85373b8d8b643f9b2103f63
│?? ├── e6
│?? │?? ├── 06bfbfa82fd7ffaeccd07c80ce9b10c2c0d485
│?? │?? └── 9de29bb2d1d6434b8b29ae775ad8c2e48c5391
│?? ├── info
│?? └── pack
└── refs
    ├── heads
    │?? └── master
    └── tags

17 directories, 24 files

Git基本操作(超詳細(xì)),南橋談Git,git,elasticsearch,大數(shù)據(jù),編輯器

  1. index 就是我們的暫存區(qū),add后的內(nèi)容都是添加到這?的。

  2. HEAD就是我們的默認(rèn)指向master分?的指針:

[gwj@iZf8zhv7mi2thjdxsptkb8Z gitcode]$ cat .git/HEAD
ref: refs/heads/master

Git基本操作(超詳細(xì)),南橋談Git,git,elasticsearch,大數(shù)據(jù),編輯器
?默認(rèn)的master分?,其實(shí)就是:

[gwj@iZf8zhv7mi2thjdxsptkb8Z gitcode]$ cat .git/refs/heads/master
c98e19749759f8e8c85373b8d8b643f9b2103f63

c98e19749759f8e8c85373b8d8b643f9b2103f63保存的就是當(dāng)前最新的 commit id

  1. objects為Git的對(duì)象庫(kù),??包含了創(chuàng)建的各種版本庫(kù)對(duì)象及內(nèi)容。當(dāng)執(zhí)?git add 命令時(shí),暫存區(qū)的?錄樹(shù)被更新,同時(shí)?作區(qū)修改(或新增)的?件內(nèi)容被寫(xiě)?到對(duì)象庫(kù)中的?個(gè)新的對(duì)象中,就位于".git/objects"?錄下。

查找object時(shí)要將 commit id分成2部分,其前2位是?件夾名稱(chēng),后38位是?件名稱(chēng)
Git基本操作(超詳細(xì)),南橋談Git,git,elasticsearch,大數(shù)據(jù),編輯器
找到這個(gè)?件之后,?般不能直接看到??是什么,該類(lèi)?件是經(jīng)過(guò)sha (安全哈希算法)加密過(guò)的?件,好在我們可以使?git cat-file命令來(lái)查看版本庫(kù)對(duì)象的內(nèi)容:

[gwj@iZf8zhv7mi2thjdxsptkb8Z gitcode]$ git cat-file -p c98e19749759f8e8c85373b8d8b643f9b2103f63 
tree e606bfbfa82fd7ffaeccd07c80ce9b10c2c0d485
parent 4a98215b5ada82146bb128e829f356cf546b5514
author gwj <2953778678@qq.com> 1708245151 +0800
committer gwj <2953778678@qq.com> 1708245151 +0800

add 3files
[gwj@iZf8zhv7mi2thjdxsptkb8Z gitcode]$ git cat-file -p e606bfbfa82fd7ffaeccd07c80ce9b10c2c0d485
100644 blob 36433addfb1f43c0e073e56442ca97184a317faa	ReadMe
100644 blob e69de29bb2d1d6434b8b29ae775ad8c2e48c5391	file1
100644 blob e69de29bb2d1d6434b8b29ae775ad8c2e48c5391	file2
100644 blob e69de29bb2d1d6434b8b29ae775ad8c2e48c5391	file3
[gwj@iZf8zhv7mi2thjdxsptkb8Z gitcode]$ git cat-file -p 4a98215b5ada82146bb128e829f356cf546b5514
tree 4e786c2e4531dfd9c8622da069607a5e82716e19
author gwj <2953778678@qq.com> 1708233761 +0800
committer gwj <2953778678@qq.com> 1708233761 +0800

add first file
[gwj@iZf8zhv7mi2thjdxsptkb8Z gitcode]$ git cat-file -p 36433addfb1f43c0e073e56442ca97184a317faa
hello gwj!!!


Git基本操作(超詳細(xì)),南橋談Git,git,elasticsearch,大數(shù)據(jù),編輯器

總結(jié)一下:

? index:暫存區(qū), git add 后會(huì)更新該內(nèi)容。
? HEAD:默認(rèn)指向master分?的?個(gè)指針。
? refs/heads/master:文件?保存當(dāng)前master分?的最新 commit id 。
? objects:包含了創(chuàng)建的各種版本庫(kù)對(duì)象及內(nèi)容,可以簡(jiǎn)單理解為放了git維護(hù)的所有修改。

添加文件–場(chǎng)景二

[gwj@iZf8zhv7mi2thjdxsptkb8Z gitcode]$ touch file4
[gwj@iZf8zhv7mi2thjdxsptkb8Z gitcode]$ git add file4
[gwj@iZf8zhv7mi2thjdxsptkb8Z gitcode]$ touch file5
[gwj@iZf8zhv7mi2thjdxsptkb8Z gitcode]$ git commit -m "add file"
[master 86d20fb] add file
 1 file changed, 0 insertions(+), 0 deletions(-)
 create mode 100644 file4

新增file4文件,將file4文件添加到暫存區(qū),新增file5文件,提交修改

提交后發(fā)現(xiàn)打印了 1 file changed, 0 insertions(+), 0 deletions(-) ,意思是只
有?個(gè)?件改變了,但是不是新增了兩個(gè)文件嘛?

回憶一下,git add是將?件添加到暫存區(qū), git commit是將暫存區(qū)的內(nèi)容添加到本地倉(cāng)庫(kù)中。由于我們并沒(méi)有使? git add file5file5就不在暫存區(qū)中維護(hù),所以我們commit的時(shí)候其實(shí)只是把已經(jīng)在暫存區(qū)的file4提交了,?遺漏了?作區(qū)的file5。如何提交file5呢?很簡(jiǎn)單,再次add , commit 即可。

修改文件

Git跟蹤并管理的是修改,而非文件。

什么是修改??如你新增了?行,這就是?個(gè)修改,刪除了?行,也是?個(gè)修改,更改了某些字符,也是?個(gè)修改,刪了?些?加了?些,也是?個(gè)修改,甚?創(chuàng)建?個(gè)新?件,也算?個(gè)修改。

ReadMe?件進(jìn)??次修改:

[gwj@iZf8zhv7mi2thjdxsptkb8Z gitcode]$ vim ReadMe 
[gwj@iZf8zhv7mi2thjdxsptkb8Z gitcode]$ cat ReadMe 
hello gwj!!!
hello world!!!
hello HAUE!!!
hello git!!!
[gwj@iZf8zhv7mi2thjdxsptkb8Z gitcode]$ git status
# On branch master
# Changes not staged for commit:
#   (use "git add <file>..." to update what will be committed)
#   (use "git checkout -- <file>..." to discard changes in working directory)
#
#	modified:   ReadMe
#
no changes added to commit (use "git add" and/or "git commit -a")

Changes not staged for commit暫存區(qū)目前是干凈的,沒(méi)有要提交的內(nèi)容

修改是在工作區(qū)修改的

git status可以查看哪些文件被修改,但是修改了什么看不了

git diff [file]命令?來(lái)顯?暫存區(qū)和?作區(qū)?件的差異,顯?的格式正是Unix通?的diff格式。也可以使? git diff HEAD -- [file]命令來(lái)查看版本庫(kù)和?作區(qū)?件的區(qū)別。也可以使? git diff HEAD -- [file]命令來(lái)查看版本庫(kù)和?作區(qū)?件的區(qū)別

例如:

git diff Read

[gwj@iZf8zhv7mi2thjdxsptkb8Z gitcode]$ git diff ReadMe
diff --git a/ReadMe b/ReadMe
index 36433ad..df11e44 100644
--- a/ReadMe
+++ b/ReadMe
@@ -1 +1,4 @@
 hello gwj!!!
+hello world!!!
+hello HAUE!!!
+hello git!!!

Git基本操作(超詳細(xì)),南橋談Git,git,elasticsearch,大數(shù)據(jù),編輯器

格式解讀:

Git基本操作(超詳細(xì)),南橋談Git,git,elasticsearch,大數(shù)據(jù),編輯器

版本回退

Git能夠管理?件的歷史版本,這也是版本控制器重要的能?。如果有?天你發(fā)現(xiàn)之前前的?作做的出現(xiàn)了很?的問(wèn)題,需要在某個(gè)特定的歷史版本重新開(kāi)始,這個(gè)時(shí)候就需要版本回退的功能了。

回退版本命令:

git reset

git reset本質(zhì)上是回退版本庫(kù)上的內(nèi)容

語(yǔ)法格式:

git reset [--soft | --mixed | --hard] [HEAD] 
  1. --mixed默認(rèn)選項(xiàng),使?時(shí)可以不?帶該參數(shù)。該參數(shù)將暫存區(qū)的內(nèi)容退回為指定提交版本內(nèi)容,?作區(qū)?件保持不變
  2. --soft參數(shù)對(duì)于?作區(qū)和暫存區(qū)的內(nèi)容都不變,只是將版本庫(kù)回退到某個(gè)指定版本
  3. --hard參數(shù)將暫存區(qū)與?作區(qū)都退回到指定版本。切記?作區(qū)有未提交的代碼時(shí)不要?這個(gè)命令,因?yàn)?作區(qū)會(huì)回滾,你沒(méi)有提交的代碼就再也找不回了,所以使?該參數(shù)前?定要慎重
  4. HEAD 說(shuō)明:
  • 可直接寫(xiě)成commit id,表?指定退回的版本
  • HEAD表?當(dāng)前版本
  • HEAD^上?個(gè)版本
  • HEAD^^上上?個(gè)版本
  • 以此類(lèi)推…
  1. 可以使??數(shù)字表?:
  • HEAD~0表?當(dāng)前版本
  • HEAD~1上?個(gè)版本
  • HEAD^2上上?個(gè)版本
  • 以此類(lèi)推…

Git基本操作(超詳細(xì)),南橋談Git,git,elasticsearch,大數(shù)據(jù),編輯器
Git基本操作(超詳細(xì)),南橋談Git,git,elasticsearch,大數(shù)據(jù),編輯器

Git基本操作(超詳細(xì)),南橋談Git,git,elasticsearch,大數(shù)據(jù),編輯器

回退到添加ReadMe文件時(shí):

Git基本操作(超詳細(xì)),南橋談Git,git,elasticsearch,大數(shù)據(jù),編輯器
此時(shí)只剩了add first file ,后面的都不見(jiàn)了

此時(shí)你又后悔了,想再回到之前的

只需要再次回退即可:

Git基本操作(超詳細(xì)),南橋談Git,git,elasticsearch,大數(shù)據(jù),編輯器

git reflog?來(lái)記錄本地的每?次命令

Git基本操作(超詳細(xì)),南橋談Git,git,elasticsearch,大數(shù)據(jù),編輯器

Git的版本回退速度?常快,因?yàn)镚it在內(nèi)部有個(gè)指向當(dāng)前分?(此處是master)的HEAD指針, refs/heads/master?件?保存當(dāng)前master 分?的最新 commit id 。當(dāng)我們?cè)诨赝税姹镜臅r(shí)候,Git僅僅是給refs/heads/master中存儲(chǔ)?個(gè)特定的version,可以簡(jiǎn)單理解成如下?意圖:

Git基本操作(超詳細(xì)),南橋談Git,git,elasticsearch,大數(shù)據(jù),編輯器

撤銷(xiāo)修改

如果我們?cè)谖覀兊?作區(qū)寫(xiě)了很?時(shí)間代碼,越寫(xiě)越寫(xiě)不下去,覺(jué)得??寫(xiě)的實(shí)在是垃圾,想恢復(fù)到上?個(gè)版本。

撤銷(xiāo)的目的是不影響遠(yuǎn)程倉(cāng)庫(kù)的代碼!??!

情況?:對(duì)于工作區(qū)的代碼,還沒(méi)有 add

代碼還沒(méi)有add,還在工作區(qū)中

在工作區(qū)中新增了一行代碼:add xx code
Git基本操作(超詳細(xì)),南橋談Git,git,elasticsearch,大數(shù)據(jù),編輯器

你完全可以vim進(jìn)入,然后刪除add xx code

但是有時(shí)候可能已經(jīng)過(guò)了三四天了,?直都沒(méi)有提交,該怎么刪掉呢?你??都忘了??新增過(guò)哪些

可以 git diff xxx?下,看看差別在刪啊,那你肯定?要花3天時(shí)間刪代碼了,并且很?的概率還會(huì)改出bug:

Git基本操作(超詳細(xì)),南橋談Git,git,elasticsearch,大數(shù)據(jù),編輯器

可以使? git checkout -- [file] 命令讓?作區(qū)的?件回到最近?次addcommit時(shí)的狀態(tài)。要注意 git checkout -- [file] 命令中的-- 很重要,切記不要省略,?旦省略,該命令就變?yōu)槠渌馑剂耍纠?br>Git基本操作(超詳細(xì)),南橋談Git,git,elasticsearch,大數(shù)據(jù),編輯器

情況?:已經(jīng) add ,但沒(méi)有 commit

Git基本操作(超詳細(xì)),南橋談Git,git,elasticsearch,大數(shù)據(jù),編輯器

新增的代碼add xxx code已經(jīng)在暫存區(qū)

git reset回退命令,該命令如果使?--mixed參數(shù),可以將暫存區(qū)的內(nèi)容退回為指定的版本內(nèi)容,但?作區(qū)?件保持不變。那我們就可以回退下暫存區(qū)的內(nèi)容了!??!

Git基本操作(超詳細(xì)),南橋談Git,git,elasticsearch,大數(shù)據(jù),編輯器

Changes not staged for commit 表示暫存區(qū)沒(méi)有內(nèi)容需要被提交

此時(shí)就已經(jīng)回到情況一了,使用情況一的方法就可以撤銷(xiāo)修改

Git基本操作(超詳細(xì)),南橋談Git,git,elasticsearch,大數(shù)據(jù),編輯器
恢復(fù)了?。?!

情況三:已經(jīng) add ,并且也 commit 了

可以 git reset --hard HEAD^ 回退到上?個(gè)版本!不過(guò),這是有條件的,就是你還沒(méi)有把??的本地版本庫(kù)推送到遠(yuǎn)程。?旦你推送到遠(yuǎn)程版本庫(kù),你就真的慘了……

Git基本操作(超詳細(xì)),南橋談Git,git,elasticsearch,大數(shù)據(jù),編輯器
此時(shí)工作區(qū)、存儲(chǔ)區(qū)、版本庫(kù)中都新增了代碼

撤銷(xiāo)命令:git reset --hard HEAD

Git基本操作(超詳細(xì)),南橋談Git,git,elasticsearch,大數(shù)據(jù),編輯器

這種方法的前提是: commit之后沒(méi)有push?。?!

刪除文件

在Git中,刪除也是?個(gè)修改操作,實(shí)戰(zhàn)一下刪除file1

Git基本操作(超詳細(xì)),南橋談Git,git,elasticsearch,大數(shù)據(jù),編輯器
命令:rm file1

Git基本操作(超詳細(xì)),南橋談Git,git,elasticsearch,大數(shù)據(jù),編輯器

此時(shí)只是把工作區(qū)中的file1刪除,對(duì)于本地倉(cāng)庫(kù)file1其實(shí)沒(méi)有被刪掉

[gwj@iZf8zhv7mi2thjdxsptkb8Z gitcode]$ git status
# On branch master
# Changes not staged for commit:
#   (use "git add/rm <file>..." to update what will be committed)
#   (use "git checkout -- <file>..." to discard changes in working directory)
#
#	deleted:    file1
#
no changes added to commit (use "git add" and/or "git commit -a")

?般?到這?,有兩種可能:
1. 確實(shí)要從版本庫(kù)中刪除該?件
2. 不小心刪錯(cuò)了

對(duì)第?種情況,很明顯誤刪,需要使? git checkout -- file1 來(lái)進(jìn)?恢復(fù),很簡(jiǎn)單,我們剛學(xué)過(guò)(刪除也是修改):

Git基本操作(超詳細(xì)),南橋談Git,git,elasticsearch,大數(shù)據(jù),編輯器
對(duì)于第?種情況,很明顯是沒(méi)有刪完,我們只刪除了?作區(qū)的?件。這時(shí)就需要使?git rm 將?件從暫存區(qū)和?作區(qū)中刪除,并且commit

[gwj@iZf8zhv7mi2thjdxsptkb8Z gitcode]$ git rm file1
rm 'file1'
[gwj@iZf8zhv7mi2thjdxsptkb8Z gitcode]$ git status
# On branch master
# Changes to be committed:
#   (use "git reset HEAD <file>..." to unstage)
#
#	deleted:    file1
#
[gwj@iZf8zhv7mi2thjdxsptkb8Z gitcode]$ git commit -m "deleted file1"
[master 969e5f4] deleted file1
 1 file changed, 0 insertions(+), 0 deletions(-)
 delete mode 100644 file1
[gwj@iZf8zhv7mi2thjdxsptkb8Z gitcode]$ git status
# On branch master
nothing to commit, working directory clean

Git基本操作(超詳細(xì)),南橋談Git,git,elasticsearch,大數(shù)據(jù),編輯器

現(xiàn)在,?件就從版本庫(kù)中被刪除了


Git基本操作(超詳細(xì)),南橋談Git,git,elasticsearch,大數(shù)據(jù),編輯器文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-830941.html

到了這里,關(guān)于Git基本操作(超詳細(xì))的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來(lái)自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場(chǎng)。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請(qǐng)注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請(qǐng)點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • Git第三講 Git的基本操作

    在使用Git進(jìn)行版本控制時(shí),有一些基本的操作是必須掌握的。本章將介紹這些基本操作,包括如何添加和提交文件、查看和比較更改、撤銷(xiāo)更改以及刪除文件等。 Git使用暫存區(qū)(或稱(chēng)為索引)來(lái)管理文件的更改。添加和提交文件是Git中最常用的操作之一。 添加文件 要將文件

    2024年02月08日
    瀏覽(53)
  • Git基礎(chǔ)——基本的 Git本地操作

    Git基礎(chǔ)——基本的 Git本地操作

    ????????本文涵蓋了你在使用Git的絕大多數(shù)時(shí)間里會(huì)用到的所有基礎(chǔ)命令。學(xué)完之后,你應(yīng)該能夠配置并初始化Git倉(cāng)庫(kù)、開(kāi)始或停止跟蹤文件、暫存或者提交更改。我們也會(huì)講授如何讓Git忽略某些文件和文件模式,如何簡(jiǎn)單快速地撤銷(xiāo)錯(cuò)誤操作,如何瀏覽項(xiàng)目版本歷史并查

    2024年02月11日
    瀏覽(24)
  • 【Git】從零開(kāi)始的 Git 基本操作

    【Git】從零開(kāi)始的 Git 基本操作

    要提前說(shuō)的是, 倉(cāng)庫(kù)是進(jìn)行版本控制的一個(gè)文件目錄 。我們想對(duì)文件進(jìn)行版本控制,就必須先創(chuàng)建一個(gè)倉(cāng)庫(kù)出來(lái)。 創(chuàng)建一個(gè) Git 本地倉(cāng)庫(kù)對(duì)應(yīng)的命令為 git init ,注意命令要在文件目錄下執(zhí)行,例如: 我們發(fā)現(xiàn),當(dāng)前目錄下多了一個(gè) .git 的隱藏文件, .git 目錄是 Git 用來(lái)跟蹤

    2024年04月22日
    瀏覽(22)
  • GIT —— 基本操作,分支管理,遠(yuǎn)程操作

    最近找實(shí)習(xí),在完善簡(jiǎn)歷,遂發(fā)一發(fā)存貨,有待持續(xù)完善,我認(rèn)為這部分非常的有意義 創(chuàng)建 配置 將配置生效于 當(dāng)前機(jī)器的 所有倉(cāng)庫(kù) 刪除配置/刪除全局配置 .git :版本庫(kù),不允許手欠做任何修改! stage/ 或 index/ :暫存區(qū),索引 gitcode/ : 工作區(qū) 修改的工作區(qū)內(nèi)容會(huì)寫(xiě)入**對(duì)

    2024年02月11日
    瀏覽(21)
  • Git基本操作筆記

    Git基本操作筆記

    ????????Git在我們?nèi)粘9ぷ髦惺潜夭豢缮俚模瑒側(cè)肼毜膶?shí)習(xí)生可能只要會(huì)安裝git、git clone,git pull 即可,git安裝的教程有很多我就不一一講述了。 ????????Windows安裝教程請(qǐng)?jiān)L問(wèn)此博主的鏈接 Git安裝教程-window版本 · 語(yǔ)雀 在平常開(kāi)發(fā)中,我們肯定需要用到git,這里我給大

    2024年02月02日
    瀏覽(27)
  • Git基本操作(1)

    Git基本操作(1)

    前面我們配置了git還有遠(yuǎn)程倉(cāng)庫(kù),今天我們來(lái)了解一下git的基本操作。 首先,我們?cè)谘b好git之后,我們就要初始化一個(gè)git倉(cāng)庫(kù),我們可以用命令行 git init 來(lái)初始化一個(gè)git本地倉(cāng)庫(kù),首先我們創(chuàng)建一個(gè)文件夾: 我們進(jìn)入到gitcode文件夾,使用 git init 命令: 我們查看隱藏文件,

    2024年03月10日
    瀏覽(45)
  • Git基本操作命令

    Git基本操作命令

    目錄 一、簡(jiǎn)介 二、基本命令使用 (1) git add ---將該文件添加到暫存區(qū) (2) git status --- 命令用于查看在上次提交之后是否有對(duì)文件進(jìn)行再次修改 (3) git diff -- 比較文件在暫存區(qū)和工作區(qū)的差異 (4) git commit? ---?將暫存區(qū)內(nèi)容添加到本地倉(cāng)庫(kù)中 (5) git reset --指定退回某一次提交的版

    2024年02月05日
    瀏覽(47)
  • git 的基本操作

    git 的基本操作

    1. git建立本地倉(cāng)庫(kù) 在想要建立的目錄下輸入命令 git init 我們可以看一下 .git目錄下有什么 ? 2. 配置git本地倉(cāng)庫(kù)? 配置用戶的 name 和 email 命令:git config [...] 配置完后,我們像查看一下 剛才的配置 2.1 查看配置命令 git config -l 2.2 刪除配置? 命令:git config --unset [...] 查看配置

    2024年02月11日
    瀏覽(22)
  • git的基本操作

    在工作過(guò)程中,有時(shí)會(huì)用公司的電腦進(jìn)行項(xiàng)目開(kāi)發(fā),或者使用個(gè)人電腦,但是git的一些默認(rèn)配置,需要更改,可以按照下面方式完成。 在實(shí)際項(xiàng)目開(kāi)發(fā)中,經(jīng)常會(huì)遇到,剛開(kāi)始,并沒(méi)有創(chuàng)建遠(yuǎn)程倉(cāng)庫(kù),只是通過(guò)git相關(guān)操作,在本地管理項(xiàng)目,如果需要將項(xiàng)目推送到遠(yuǎn)程項(xiàng)目,

    2024年02月09日
    瀏覽(22)
  • 【Git】安裝以及基本操作

    【Git】安裝以及基本操作

    努力經(jīng)營(yíng)當(dāng)下,直至未來(lái)明朗! 版本控制器:記錄每次的修改以及版本迭代的一個(gè)管理系統(tǒng)。 Git:其實(shí)就是最常用的版本控制器。可以維護(hù)控制電腦上 所有格式 的文檔。 如:對(duì)于開(kāi)發(fā)人員來(lái)說(shuō),最主要就是維護(hù)項(xiàng)目中的源代碼文件。 注意:對(duì)于二進(jìn)制文件如圖片、視頻等

    2024年02月13日
    瀏覽(23)

覺(jué)得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請(qǐng)作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包