[英]Difference between ( git add -A followed by git commit ) and git commit -a?
[英]Difference between git add and git commit -a
我試圖更好地了解git的工作原理。
因此,我們有一個工作目錄(我們的項目文件),一個暫存區(准備好進行更改的集合)和一個git存儲庫(在提交時將這些更改應用於其中)。
但是,我很難理解,因為似乎文件被“跟蹤”或未引用某些特定的東西,但是我們仍然說每個部分都有自己的跟蹤形式嗎?
說的正確嗎?
如果我在工作目錄中添加或修改文件,則git會檢測到所有這些。 我們是否說此時這些文件已被git“跟蹤”? 還是僅僅是“被發現”(或其他)? 項目文件夾/工作目錄中的所有內容是否都已“跟蹤”?
git add {directory or filename}
出現,將內容添加到登台區域,是嗎? 在這一點上,我們是否說所有暫存的文件都是“跟蹤”文件,即執行git ls-files
顯示的文件,我相信這些文件會在暫存區域中顯示? 或者沒有?
git commit -a
將登台區域中的所有更改移至存儲庫。
這個對嗎?
git add
添加要跟蹤和暫存的文件(當前提交)
git commit -a
僅在文件已被跟蹤時才將文件添加到暫存中
當將文件添加到repo目錄時,Git會注意到未跟蹤的文件,因為它將它們理解為文件更改。 但是,除非您將它們明確添加到跟蹤中,否則它將不會跟蹤任何更改增量
這個問題可能會對您有所幫助: git跟蹤和git暫存的概念
另請參閱此https://www.howtogit.net/concepts/types-of-changes.html
我認為我們混淆的重點是git add
可以做兩件事(如果尚未添加,請添加到跟蹤,然后執行階段),而git commit -a
只做一件事(將跟蹤的文件添加到該階段)
- 如果我在工作目錄中添加或修改文件,則git會檢測到所有這些。 我們是否說此時這些文件已被git“跟蹤”? 還是僅僅是“被發現”(或其他)? 項目文件夾/工作目錄中的所有內容是否都已“跟蹤”?
Git檢測修改和刪除的文件。 如果跟蹤了它們(即,它們是在之前添加並提交的),則它們在git status
的輸出中顯示為“ modified”。 未跟蹤的新文件和修改的文件顯示為“未跟蹤”。
git add {directory or filename}
出現,將內容添加到登台區域,是嗎? 在這一點上,我們是否說所有暫存的文件都是“跟蹤”文件,即執行git ls-files
顯示的文件,我相信這些文件會在暫存區域中顯示? 或者沒有?
暫存區用於准備下一次提交。 您可以說其中包含的文件是“已跟蹤”的,但其內容不是永久的; 可以隨時更改。 為了打開一個由Git真正“跟蹤”的新文件,您必須提交已暫存的更改。
git commit -a
將登台區域中的所有更改移至存儲庫。
git commit
使用暫存的內容創建一個新的提交。 git commit -a
自動git commit -a
已更改或刪除的跟蹤文件,然后操作提交。 沒有添加新文件。
閱讀有關git commit
和Git如何將更改記錄到存儲庫的更多信息 。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.