精品欧美一区二区三区在线观看 _久久久久国色av免费观看性色_国产精品久久在线观看_亚洲第一综合网站_91精品又粗又猛又爽_小泽玛利亚一区二区免费_91亚洲精品国偷拍自产在线观看 _久久精品视频在线播放_美女精品久久久_欧美日韩国产成人在线

一些被忽略的 Git 知識

系統 Linux
盡管我曾認為自己對 Git 非常了解,但像往常一樣,當我嘗試解釋某事的時候,我又學到一些新東西。

我一直在慢慢地撰寫關于 Git 工作原理的文章。

現在回想起來,這些事情都不算太令人吃驚,但我以前并沒有清楚地思考過它們。

事實是:

  • “索引”、“暫存區” 和 -cached 是一回事
  • 隱匿文件就是一堆提交
  • 并非所有引用都是分支或標簽
  • 合并提交不是空的

下面我們來詳細了解這些內容。

“索引”、“暫存區” 和 -cached 是一回事

當你運行 git add file.txt,然后運行 git status,你會看到類似以下的輸出:

$ git add content/post/2023-10-20-some-miscellaneous-git-facts.markdown
$ git status
Changes to be committed:
    (use "git restore --staged <file>..." to unstage)
    new file:   content/post/2023-10-20-some-miscellaneous-git-facts.markdown

人們通常稱這個過程為“暫存文件”或“將文件添加到暫存區”。

當你使用 git add 命令來暫存文件時,Git 在后臺將文件添加到其對象數據庫(在 .git/objects 目錄下),并更新一個名為 .git/index 的文件以引用新添加的文件。

Git 中的這個“暫存區”事實上有 3 種不同的名稱,但它們都指的是同一個東西(即 .git/index 文件):

  • git diff --cached
  • git diff --staged
  • .git/index 文件

我覺得我早該早點認識到這一點,但我之前并沒有,所以在這里提醒一下。

隱匿文件就是一堆提交

當我運行 git stash 命令來保存更改時,我一直對這些更改究竟去了哪里感到有些困惑。事實上,當你運行 git stash 命令時,Git 會根據你的更改創建一些提交,并用一個名為 stash 的引用來標記它們(在 .git/refs/stash 目錄下)。

讓我們將此博客文章隱匿起來,然后查看 stash 引用的日志:

$ git log stash --oneline
6cb983fe (refs/stash) WIP on main: c6ee55ed wip
2ff2c273 index on main: c6ee55ed wip
... some more stuff

現在我們可以查看提交 2ff2c273 以查看其包含的內容:

$ git show 2ff2c273  --stat
commit 2ff2c273357c94a0087104f776a8dd28ee467769
Author: Julia Evans <julia@jvns.ca>
Date:   Fri Oct 20 14:49:20 2023 -0400
    index on main: c6ee55ed wip
    content/post/2023-10-20-some-miscellaneous-git-facts.markdown | 40 ++++++++++++++++++++++++++++++++++++++++

毫不意外,它包含了這篇博客文章。這很合理!

實際上,git stash 會創建兩個獨立的提交:一個是索引提交,另一個是你尚未暫存的改動提交。這讓我感到很振奮,因為我一直在開發一款工具,用于快照和恢復 Git 倉庫的狀態(也許永遠不會發布),而我提出的設計與 Git 的隱匿實現非常相似,所以我對自己的選擇感到滿意。

顯然 stash 中的舊提交存儲在 reflog 中。

并非所有引用都是分支或標簽

Git 文檔中經常泛泛地提到 “引用”,這使得我有時覺得很困惑。就個人而言,我在 Git 中處理 “引用” 的 99% 時間是指分支或 HEAD,而剩下的 1% 時間是指標簽。事實上,我以前完全不知道任何不是分支、標簽或 HEAD 的引用示例。

但現在我知道了一個例子—— stash 是一種引用,而它既不是分支也不是標簽!所以這太酷啦!

以下是我博客的 Git 倉庫中的所有引用(除了 HEAD):

$ find .git/refs -type f
.git/refs/heads/main
.git/refs/remotes/origin/HEAD
.git/refs/remotes/origin/main
.git/refs/stash

人們在本帖回復中提到的其他一些參考資料:

  • refs/notes/*,來自 git notes
  • refs/pull/123/head 和 refs/pull/123/head`` 用于 GitHub 拉取請求(可通過 git fetch origin refs/pull/123/merge` 獲取)
  • refs/bisect/*,來自 git bisect

合并提交不是空的

這是一個示例 Git 倉庫,其中我創建了兩個分支 x 和 y,每個分支都有一個文件(x.txt 和 y.txt),然后將它們合并。讓我們看看合并提交。

$ git log --oneline
96a8afb (HEAD -> y) Merge branch 'x' into y
0931e45 y
1d8bd2d (x) x

如果我運行 git show 96a8afb,合并提交看起來是“空的”:沒有差異!

git show 96a8afb
commit 96a8afbf776c2cebccf8ec0dba7c6c765ea5d987 (HEAD -> y)
Merge: 0931e45 1d8bd2d
Author: Julia Evans <julia@jvns.ca>
Date:   Fri Oct 20 14:07:00 2023 -0400

    Merge branch 'x' into y

但是,如果我單獨比較合并提交與其兩個父提交之間的差異,你會發現當然差異:

$ git diff 0931e45 96a8afb   --stat
    x.txt | 1 +
    1 file changed, 1 insertion(+)
$ git diff 1d8bd2d 96a8afb   --stat
    y.txt | 1 +
    1 file changed, 1 insertion(+)

現在回想起來,合并提交并不是實際上“空的”(它們是倉庫當前狀態的快照,就像任何其他提交一樣),這一點似乎很明顯,只是我以前從未思考為什么它們看起來為空。

顯然,這些合并差異為空的原因是合并差異只顯示沖突 —— 如果我創建一個帶有合并沖突的倉庫(一個分支在同一文件中添加了 x,而另一個分支添加了 y),然后查看我解決沖突的合并提交,它看起來會像這樣:

$ git show HEAD
commit 3bfe8311afa4da867426c0bf6343420217486594
Merge: 782b3d5 ac7046d
Author: Julia Evans <julia@jvns.ca>
Date:   Fri Oct 20 15:29:06 2023 -0400
    Merge branch 'x' into y
diff --cc file.txt
index 975fbec,587be6b..b680253
--- a/file.txt
+++ b/file.txt
@@@ -1,1 -1,1 +1,1 @@@
- y
    -x
++z

這似乎是在告訴我,一個分支添加了 x,另一個分支添加了 y,合并提交通過將 z 替代沖突解決了它。但在前面的示例中,沒有沖突,所以 Git 并未顯示任何差異。

(感謝 Jordi 告訴我合并差異的工作原理)

先這樣吧

先寫到這里吧,也許我將在學到更多 Git 知識時撰寫另一篇關于 Git 的知識的博客文章。

責任編輯:龐桂玉 來源: Linux中國
相關推薦

2021-12-20 10:55:05

Git命令Linux

2022-03-02 08:01:31

面試前端開發

2023-04-27 15:19:52

2010-04-21 18:38:36

Unix網絡

2009-07-30 18:49:31

C#時間類型

2021-09-12 07:33:23

python管理編程

2025-06-12 00:00:00

芯片服務器晶體管

2017-02-09 14:46:25

Git事情

2010-05-10 18:18:46

Unix系統

2009-12-23 11:11:23

Linux后臺作業

2010-05-12 17:45:01

IIS 服務器

2014-07-29 16:21:57

Git

2012-08-22 13:00:08

2017-07-04 13:59:28

Android模塊化

2019-07-09 09:31:50

操作系統電腦技術

2024-10-10 08:51:15

2021-01-31 22:54:39

Java Jsoy開發

2024-11-04 09:00:00

Java開發

2011-12-13 09:02:20

JavaNIO

2023-11-21 15:13:30

點贊
收藏

51CTO技術棧公眾號

亚洲每日更新| 日韩一区二区三区色 | 老女人性生活视频| a视频在线播放| 国产91精品久久久久久久网曝门 | 免费精品视频最新在线| 久久久91精品国产| 蜜臀av粉嫩av懂色av| 久久久一本精品| 亚洲欧美一区二区三区孕妇| 国产一区福利视频| 中文在线免费观看| 一区在线免费| 中文字幕久热精品在线视频| 伊人久久久久久久久| 亚洲美女久久精品| 亚洲女人的天堂| 久久久久久久久久久一区| 一起草av在线| 久久久人人人| 久久成年人免费电影| 右手影院亚洲欧美| 亚洲免费一区三区| 欧美日韩精品系列| 日韩av黄色网址| 91高清在线观看视频| 久久先锋影音av鲁色资源网| 97人人干人人| 亚洲一区二区影视| 天堂久久一区二区三区| 欧美激情a在线| 内射毛片内射国产夫妻| 欧美三级电影在线| 日韩一级大片在线| 五月天激情视频在线观看| 国产盗摄——sm在线视频| 亚洲人成亚洲人成在线观看图片| 欧美18视频| 污视频网站在线播放| 国产精品中文字幕欧美| 国产精品爽爽爽| 欧美精品韩国精品| 亚洲精品专区| 欧美激情综合色| 欧美在线视频第一页| 欧美aaaaaaaaaaaa| 在线播放日韩专区| 中文字幕在线看高清电影| 精品国产一区二区三区成人影院 | 亚洲色图清纯唯美| 亚洲乱码国产乱码精品天美传媒| 亚州精品国产精品乱码不99按摩| 国产激情视频一区二区三区欧美 | 久热免费在线观看| 日韩激情电影免费看| 亚洲一区电影777| 菠萝蜜视频在线观看入口| 麻豆视频在线免费观看| 国产精品久线观看视频| 亚洲激情啪啪| 亚洲精品传媒| 成人免费视频在线观看| 手机看片日韩国产| 一色桃子av在线| 亚洲免费观看高清完整| 黄色录像特级片| 国产一二区在线| 亚洲欧美另类图片小说| 红桃一区二区三区| 性xxxxfjsxxxxx欧美| 一区二区三区蜜桃| 国产欧美久久久久| 理论不卡电影大全神| 欧美日韩午夜视频在线观看| 熟女性饥渴一区二区三区| 免费日韩电影| 欧美视频完全免费看| 亚洲小视频网站| 精品一区二区三区四区五区| 精品国产免费一区二区三区四区 | 亚洲一区二区三区四区电影 | 国产精品久久久久免费a∨| 亚洲综合成人av| 久久99精品国产麻豆婷婷洗澡| 91精品视频在线播放| www.日韩高清| 波多野结衣精品在线| 欧美日韩国产精品一区二区| av网站大全在线观看| 亚洲日本在线a| 2018日日夜夜| 在线日本欧美| 日韩一区二区三区观看| a视频免费观看| 日韩精品欧美| 欧美极品少妇全裸体| 亚洲天堂一区在线| 精品在线免费观看| 精品一区二区三区国产| 在线免费观看黄色| 亚洲国产另类精品专区| 日韩有码免费视频| 韩国三级大全久久网站| 精品亚洲一区二区三区四区五区| 日本爱爱爱视频| 国产一区二区三区四区三区四| 欧美在线视频在线播放完整版免费观看 | 热门国产精品亚洲第一区在线| 亚洲视频在线免费播放| www.久久精品| 椎名由奈jux491在线播放 | 手机在线观看毛片| 最新高清无码专区| 日本wwww视频| 久久国产精品免费一区二区三区| 亚洲欧美日韩久久久久久 | 免费国产在线观看| 亚洲精品欧美专区| 992kp快乐看片永久免费网址| 五月亚洲婷婷| 日韩在线一区二区三区免费视频| 在线看成人av| 国产精品资源站在线| 午夜久久资源| 在线一区av| 亚洲缚视频在线观看| 亚洲AV成人无码精电影在线| 亚洲一区视频| 国产精品综合久久久久久| 黄在线免费观看| 在线观看日韩电影| 日本黄色特级片| 激情综合在线| 99精品国产高清一区二区| 理论视频在线| 欧美视频中文字幕在线| 深夜视频在线观看| 欧美成人高清| 国产精品揄拍一区二区| 九一国产在线| 日韩欧中文字幕| 亚洲永久无码7777kkk| 亚洲国产午夜| 高清不卡日本v二区在线| 国产精品实拍| 777欧美精品| 国产午夜精品理论片在线| 日本欧美加勒比视频| 欧美日韩最好看的视频| 自拍偷拍欧美视频| 亚洲男女性事视频| 久久精品视频5| 久久久久久一二三区| 国产一区二区三区精彩视频| 人人精品亚洲| 国产91对白在线播放| 五月婷婷免费视频| 岛国精品视频在线播放| 亚洲欧美日本一区| 亚欧成人精品| 欧美污视频久久久| 国精品产品一区| 色婷婷综合成人av| 国产精品怡红院| 亚洲人一二三区| 特黄特色免费视频| 亚洲欧洲另类| 看欧美日韩国产| 91精品xxx在线观看| 在线观看国产欧美| 艳妇乳肉豪妇荡乳av| 国产精品久久久久影院老司| 国产精品久久a| 婷婷久久国产对白刺激五月99| 成人做爰www免费看视频网站| 性欧美videos高清hd4k| 亚洲精品在线观看网站| 日本在线播放视频| 国产喂奶挤奶一区二区三区| 中文字幕永久有效| 欧美激情成人在线| 久久99影院| 巨大黑人极品videos精品| 久久伊人色综合| 欧美熟妇乱码在线一区| 日韩欧美在线观看| 特黄一区二区三区| 处破女av一区二区| 欧美日韩在线免费播放| 亚洲va在线| 国产一区精品在线| 久久亚洲精品中文字幕| 欧美激情视频三区| 国产精品麻豆一区二区三区| 欧美一二三四区在线| www.伊人久久| 亚洲免费观看高清完整| 国产精品1000部啪视频| 国内精品视频666| 成人在线观看你懂的| 欧美日韩一区二区综合| 91免费精品视频| a√中文在线观看| 中文字幕少妇一区二区三区| 日本精品一二区| 欧美性色黄大片| 久久国产精品波多野结衣av| 91老师片黄在线观看| 午夜免费一级片| 中文一区在线| 天天爱天天做天天操| 牲欧美videos精品| 91色中文字幕| 日本中文字幕一区二区| 久久久在线免费观看| 最近高清中文在线字幕在线观看| 精品国产凹凸成av人导航| 最近中文字幕在线视频| 艳妇臀荡乳欲伦亚洲一区| 国产主播av在线| 成人精品免费视频| 99久久99精品| 视频一区视频二区中文| 777av视频| 亚洲欧美伊人| 亚洲自拍偷拍二区| 久久99国产成人小视频| 国产伦精品一区二区三区照片91| 亚洲毛片在线免费| 国产精品免费视频xxxx| 欧美成人精品一区二区男人小说| 欧美激情在线狂野欧美精品| 成人免费观看视频大全| 日韩在线欧美在线| 国产黄在线播放| 亚洲免费一级电影| 欧美香蕉爽爽人人爽| 亚洲经典中文字幕| 免费av一级片| 精品嫩草影院久久| 亚洲精品字幕在线| 日韩欧美一区电影| 99久久久国产精品无码网爆| 欧美伦理视频网站| 中文字幕你懂的| 在线免费观看成人短视频| 欧美亚洲另类小说| 欧美午夜女人视频在线| 天天做天天爱夜夜爽| 精品日韩中文字幕| 亚洲另类欧美日韩| 日韩欧美国产一区二区| 日本一区二区三区精品| 欧美丝袜美女中出在线| 五月婷婷激情视频| 日本国产一区二区| 亚洲色成人www永久网站| 欧美性猛交xxxx久久久| 无码人妻精品一区二区三区蜜桃91| 欧美性少妇18aaaa视频| 免费视频网站在线观看入口| 欧洲精品一区二区| 中文字幕一区二区久久人妻| 欧美日韩精品一区二区三区蜜桃 | 精品99一区二区三区| 欧美 日韩 中文字幕| 日韩美女av在线| 二区在线视频| 久久久黄色av| 七七成人影院| 91av在线播放| 欧美va在线| 亚洲一区二区中文| 亚洲一区二区三区在线免费| 久久大片网站| 俺要去色综合狠狠| 欧美亚洲视频一区| 好吊视频一区二区三区四区| 男女视频网站在线观看| 天堂资源在线中文精品| 伊人色在线视频| 成人av在线观| 中文字幕被公侵犯的漂亮人妻| 国产精品色噜噜| 国产亚洲精品久久777777| 欧美日韩亚洲国产一区| 美女黄页在线观看| 日韩欧美国产1| 免费福利在线视频| 久久国产精品99国产精| 高清在线视频不卡| 国产日韩精品一区二区| 成人看片黄a免费看视频| 欧美日韩一区二 | 久久影视免费观看| aa国产成人| 国产在线播放不卡| 国产精品调教| 亚洲一卡二卡| 夜夜嗨一区二区| www.国产福利| 久久综合九色综合97婷婷女人| 中文字幕91视频| 午夜影院在线观看欧美| 亚洲在线免费观看视频| 亚洲精品国产精品国产自| 在线观看二区| 欧美在线日韩在线| 日韩区欧美区| 日韩精品一区二区三区外面 | 欧美激情欧美狂野欧美精品| 欧美第一视频| 国产成人精品福利一区二区三区| 精品视频99| 亚洲熟妇av一区二区三区漫画| 国模一区二区三区白浆| 性欧美13一14内谢| 亚洲一区二区美女| 国产在成人精品线拍偷自揄拍| 日韩成人中文字幕| www免费在线观看| 国产成人啪精品视频免费网| 成人激情自拍| 国产在线拍揄自揄拍无码| 久久中文欧美| 中文字幕乱码在线| 一二三四区精品视频| 亚洲自拍偷拍另类| 亚洲美女在线看| 蜜桃麻豆av在线| 国产精品一区在线播放| 综合天堂久久久久久久| www.污污视频| 国产无一区二区| 日本a级c片免费看三区| 亚洲国产欧美在线成人app | 热久久99这里有精品| 激情亚洲另类图片区小说区| 国产激情片在线观看| 精品一区二区三区不卡| 亚洲aaa视频| 欧美日韩一卡二卡三卡 | 麻豆国产va免费精品高清在线| 日韩免费va| 日本一区不卡| 日韩精品免费视频人成| 97人妻精品一区二区三区免 | 日韩最新在线视频| 电影一区二区| 亚洲黄色成人久久久| 另类小说视频一区二区| 亚洲一级片在线播放| 欧美日韩高清一区二区三区| 日本三级视频在线观看| 国产精品午夜一区二区欲梦| 色135综合网| 亚洲a级黄色片| 亚洲欧美日韩成人高清在线一区| 99在线精品视频免费观看软件 | 欧美一区二区三区啪啪| 97影院秋霞午夜在线观看| 亚洲一区二区三区四区视频| 欧美激情无毛| fc2成人免费视频| 懂色av一区二区三区| 免费在线一级视频| 国产精品成人一区二区| 成人一区二区| 午夜激情影院在线观看| 亚洲综合激情另类小说区| 五月婷婷在线播放| 热re91久久精品国99热蜜臀| 日韩片欧美片| 国产探花一区二区三区| 香蕉影视欧美成人| 日本v片在线免费观看| 国产成人精品免费视频| 日韩中字在线| 欧美性猛交乱大交| 欧美色视频日本版| 95在线视频| 鬼打鬼之黄金道士1992林正英| 亚洲欧美日本国产专区一区| 日本精品久久久久中文| 日韩手机在线导航| 中文字幕在线官网| 亚洲精品中文字幕在线| 国产精品白丝jk黑袜喷水| 日本少妇xxxx动漫| 在线观看欧美日韩| 日韩欧美一级| 激情五月亚洲色图| 一区二区高清视频在线观看| 飘雪影视在线观看免费观看| 国产精品久久久久久久av电影| 91精品一区国产高清在线gif | 久久午夜a级毛片| 加勒比久久高清| 五月婷婷丁香色| 性做久久久久久久免费看|