Git學習之旅 獨特的跟蹤與管理

2021-10-05 01:26:20 字數 1721 閱讀 1272

git 版本控制系統最奇特的地方在於它跟蹤和管理的不是檔案本身,而是對檔案修改的這個操作。

之前的git add 和git commit 為什麼一定要修改一次提交一次?

來讓我們試驗一下:

首先對檔案 file1.txt 進行修改

這是第乙個檔案 two six +
記得儲存!!!

執行git add 加入暫存區

$ git add file1.txt
先不急著提交,我們再次對這個檔案進行修改

這是第乙個檔案 two six + five
儲存!!!

這次我們進行提交

$ git commit -m 'add + five'

[master b8753c7] add + five

1 file changed, 1 insertion(+), 1 deletion(-)

讓我們看一下狀態

$ git status

on branch master

changes not staged for commit:

(use "git add ..." to update what will be committed)

(use "git restore ..." to discard changes in working directory)

modified: file1.txt

no changes added to commit (use "git add" and/or "git commit -a"

)

不是提交之後工作區就乾淨了嗎?這是腫麼肥事?

檢視一下提交之後跟原檔案的區別

$ git

diff

diff --git a/file1.txt b/file1.txt

index 831c25a..6cc537a 100644

--- a/file1.txt

+++ b/file1.txt

@@ -1 +1 @@

-這是第乙個檔案 two six +

\ no newline at end of file

+這是第乙個檔案 two six + five

\ no newline at end of file

為什麼第二次修改沒有提交呢?

別急,一起回顧一下

你會發現,我們只是把第一次修改操作放入到了暫存區,而第二次修改操作並沒有放入暫存區,commit 只負責把暫存區的修改提交到本地倉庫裡面。

所以只提交了第一次修改的操作。

因此我們需要把第二次修改操作加入暫存區,再提交到本地倉庫

$ git add file1.txt
$ git commit -m 'add five'

[master e41ca86] add five

1 file changed, 1 insertion(+), 1 deletion(-)

再次檢視狀態

$ git status

on branch master

nothing to commit, working tree clean

可以看到,工作區乾淨了。

管理git的跟蹤關係

方法1 和方法2 好像都不能用了,考慮用fetch替換 git fetch origin 本地新分支名字 遠端分支名字 git checkout 本地新分支名字1 遠端有上游分支,但是本地沒有相應的跟蹤分支時候,此時會在本地建立乙個和遠端上游分支同名的分支 git checkout track or...

Git學習之旅 撤銷與刪除

在使用git 過程中難免會出現各種錯誤,就讓我們一起學習怎麼應對吧 一般犯錯可以恢復的有三種情況 用我們的乙個檔案 file2.txt 舉例 此次演示的文件內容少可以直接修改回之前的狀態,此篇針對內容多的修改 cat file2.txt 這是第二個檔案修改後 cat file2.txt 這是第二個檔...

我的管理之旅 決策與用人

管理者有兩項重要的任務,一是決策,一是用人。要正確選擇 分配 提拔人員,就必須對工作人員的個性品質有乙個全面的研究。因此,對工作人員的個性的研究是非常有意義的。管理心理學 決策 根據幾天的實踐,深刻體會到決策的重要性。民主是要有的,體現出對員工的尊重,但民主只是給大家乙個自由想象的空間,針對某一問題...