亚洲国产日韩欧美一区二区三区,精品亚洲国产成人av在线,国产99视频精品免视看7,99国产精品久久久久久久成人热,欧美日韩亚洲国产综合乱

目錄 搜尋
Guides gitattributes giteveryday gitglossary gitignore gitmodules gitrevisions gittutorial gitworkflows Administration git archive git bundle git clean git filter-branch git fsck git gc git instaweb git reflog Basic Snapshotting git add git commit git diff git mv git reset git rm git status Branching and Merging git branch git checkout git log git merge git mergetool git stash git tag Debugging git bisect git blame git grep Email git am git format-patch git request-pull git send-email External Systems git fast-import git svn Getting and Creating Projects git clone git init Git git annotate git archimport git bisect-lk2009 git check-attr git check-mailmap git check-ref-format git checkout-index git cherry git citool git column git credential git credential-cache git credential-store git cvsexportcommit git cvsimport git cvsserver git diff-files git diff-tree git difftool git fast-export git fetch-pack git fmt-merge-msg git get-tar-commit-id git gui git http-backend git http-fetch git http-push git imap-send git index-pack git interpret-trailers git ls-remote git ls-tree git mailinfo git mailsplit git merge-file git merge-index git merge-one-file git merge-tree git mktag git mktree git name-rev git notes git p4 git pack-objects git pack-redundant git pack-refs git parse-remote git patch-id git prune git prune-packed git quiltimport git receive-pack git remote-ext git remote-fd git remote-testgit git repack git replace git rerere git send-pack git sh-i18n git sh-setup git shell git show-branch git show-index git stripspace git unpack-file git unpack-objects git upload-archive git upload-pack git var git verify-commit git verify-tag git whatchanged git worktree Inspection and Comparison git describe git shortlog git show Miscellaneous api credentials api index gitcli gitcore tutorial gitcredentials gitcvs migration gitdiffcore githooks gitk gitnamespaces gitremote helpers gitrepository layout gitsubmodules gittutorial 2 gitweb gitweb.conf pack format User Manual Patching git apply git cherry-pick git rebase git revert Plumbing Commands git cat-file git check-ignore git commit-tree git count-objects git diff-index git for-each-ref git hash-object git ls-files git merge-base git read-tree git rev-list git rev-parse git show-ref git symbolic-ref git update-index git update-ref git verify-pack git write-tree Server Admin git daemon git update-server-info Setup and Config git git config git help Sharing and Updating Projects git fetch git pull git push git remote git submodule
文字

Name

git-add  - 將文件內(nèi)容添加到索引

概要

git add [--verbose | -v] [--dry-run | -n] [--force | -f] [--interactive | -i] [--patch | -p]          [--edit | -e] [--[no-]all | --[no-]ignore-removal | [--update | -u]]          [--intent-to-add | -N] [--refresh] [--ignore-errors] [--ignore-missing]          [--chmod=(+|-)x] [--] [<pathspec>…]

描述

此命令使用工作樹中的當(dāng)前內(nèi)容更新索引,以準(zhǔn)備下一個(gè)提交的內(nèi)容。它通常會(huì)將現(xiàn)有路徑的當(dāng)前內(nèi)容作為一個(gè)整體添加,但通過一些選項(xiàng),還可以使用它僅添加對(duì)所應(yīng)用的工作樹文件進(jìn)行的部分更改的內(nèi)容,或刪除工作樹中不存在的路徑了。

“索引”包含工作樹內(nèi)容的快照,并且這個(gè)快照被當(dāng)作下一次提交的內(nèi)容。因此,在對(duì)工作樹進(jìn)行任何更改之后,在運(yùn)行commit命令之前,必須使用add命令將任何新的或修改的文件添加到索引。

在提交之前,命令可以執(zhí)行多次。它只在add命令運(yùn)行時(shí)添加指定文件的內(nèi)容; 如果您希望在下一次提交中包含后續(xù)更改,則必須再次運(yùn)行git add以將新內(nèi)容添加到索引。

git status命令可用于獲取在下一次提交階段更改的文件的摘要。

git add命令默認(rèn)不會(huì)添加被忽略的文件。如果在命令行上明確指定了任何被忽略的文件,git add將失敗并顯示被忽略的文件列表。忽略由Git執(zhí)行的目錄遞歸或文件名匹配達(dá)到的文件(在shell之前引用您的globs)將被忽略。git add命令可以用來添加-f(強(qiáng)制)選項(xiàng)忽略的文件。

請(qǐng)參閱git-commit [1]了解將內(nèi)容添加到提交的其他方法。

選項(xiàng)

<pathspec>…

要從中添加內(nèi)容的文件。*.c可以給Fileglobs(例如)添加所有匹配的文件。還可以給出一個(gè)主要的目錄名(例如dir添加dir/file1dir/file2)來更新索引以匹配整個(gè)目錄的當(dāng)前狀態(tài)(例如,指定dir將記錄dir/file1工作樹中修改的文件,dir/file2添加到工作中的文件樹,也是一個(gè)文件dir/file3,從工作樹移除需要注意的是舊版本的Git用于忽略刪除的文件;使用--no-all,如果你想添加修改或新的文件,但忽略刪除那些選項(xiàng)。

有關(guān)<pathspec>語法的更多詳細(xì)信息,請(qǐng)參閱pathspecgitglossary [7]中的條目。

-n   --dry-run

實(shí)際不要實(shí)際添加文件,只顯示它們是否存在和/或?qū)⒈缓雎浴?/p>

-v   --verbose

Be verbose.

-f   --force

允許添加被忽略的文件。

-i   --interactive

在工作樹中交互添加修改的內(nèi)容到索引??梢蕴峁┛蛇x的路徑參數(shù),以將操作限制為工作樹的子集。有關(guān)詳情,請(qǐng)參閱“交互模式”。

-p   --patch

在索引和工作樹之間交互地選擇補(bǔ)丁塊,并將它們添加到索引中。這使用戶有機(jī)會(huì)在將修改后的內(nèi)容添加到索引之前查看差異。

有效地運(yùn)行add --interactive,但繞過最初的命令菜單并直接跳轉(zhuǎn)到patch子命令。有關(guān)詳情,請(qǐng)參閱“交互模式”。

-e   --edit

在編輯器中打開差異與索引并讓用戶進(jìn)行編輯。編輯器關(guān)閉后,調(diào)整大塊頭并將補(bǔ)丁應(yīng)用到索引。

此選項(xiàng)的目的是挑選要應(yīng)用的補(bǔ)丁行,或者甚至修改要分級(jí)的行內(nèi)容。這比使用交互式外觀選擇器更快更靈活。但是,很容易混淆自己并創(chuàng)建一個(gè)不適用于索引的補(bǔ)丁。請(qǐng)參閱下面的編輯補(bǔ)丁。

-u   --update

更新已存在匹配<pathspec>條目的索引。這會(huì)刪除和修改索引條目以匹配工作樹,但不會(huì)添加新文件。

如果在使用-u選項(xiàng)時(shí)沒有給出<pathspec> ,則會(huì)更新整個(gè)工作樹中的所有跟蹤文件(用于將更新限制為當(dāng)前目錄及其子目錄的舊版本Git)。

-A   --all   --no-ignore-removal

更新索引不僅在工作樹具有匹配<pathspec>的文件的位置,而且索引已經(jīng)有條目的位置。這會(huì)添加,修改和刪除索引條目以匹配工作樹。

如果在使用-A選項(xiàng)時(shí)沒有給出<pathspec> ,則會(huì)更新整個(gè)工作樹中的所有文件(Git的舊版本用于將更新限制為當(dāng)前目錄及其子目錄)。

--no-all   --ignore-removal

通過添加索引未知的新文件和工作樹中修改的文件來更新索引,但忽略已從工作樹中刪除的文件。當(dāng)沒有使用<pathspec>時(shí),該選項(xiàng)是無操作的。

這個(gè)選項(xiàng)主要是為了幫助習(xí)慣于老版本Git的用戶,他們的“git add <pathspec> ...”是“git add --no-all <pathspec> ...”的同義詞,即忽略被刪除的文件。

-N   --intent-to-add

只記錄路徑將在稍后添加的事實(shí)。路徑條目放置在沒有內(nèi)容的索引中。除此之外,這對(duì)于顯示這些文件的非分離內(nèi)容git diff以及提交它們git commit -a很有用。

--refresh

不要添加文件,而只需刷新索引中的stat()信息。

--ignore-errors

如果某些文件因索引錯(cuò)誤而無法添加,請(qǐng)不要中止操作,而是繼續(xù)添加其他文件。命令仍應(yīng)以非零狀態(tài)退出。add.ignoreErrors可以將配置變量設(shè)置為true以使其成為默認(rèn)行為。

--ignore-missing

該選項(xiàng)只能與--dry-run一起使用。通過使用這個(gè)選項(xiàng),用戶可以檢查是否有任何給定的文件被忽略,不管它們是否已經(jīng)存在于工作樹中。

--no-warn-embedded-repo

默認(rèn)情況下,git add向嵌入式存儲(chǔ)庫添加索引時(shí)會(huì)發(fā)出警告,而不用git submodule add在其中創(chuàng)建條目.gitmodules。該選項(xiàng)將會(huì)禁止警告(例如,如果您正在手動(dòng)對(duì)子模塊執(zhí)行操作)。

--chmod=(+|-)x

覆蓋添加文件的可執(zhí)行位??蓤?zhí)行位僅在索引中更改,磁盤上的文件保持不變。

--

此選項(xiàng)可用于將命令行選項(xiàng)與文件列表分開,(當(dāng)文件名可能被誤認(rèn)為是命令行選項(xiàng)時(shí)很有用)。

結(jié)構(gòu)

可選的配置變量core.excludesFile表示文件的路徑,該文件包含要從git-add中排除的文件名的模式,類似于$ GIT_DIR / info / exclude。排除文件中的模式除了info / exclude中的使用外。見gitignore [5]。

例子

  • 添加目錄及其子目錄*.txt下所有文件的內(nèi)容Documentation:$ git add Documentation / \ *。txt注意*在本例中星號(hào)是從shell引用的; 這讓命令包含來自目錄子目錄的Documentation/文件。

  • 考慮從所有g(shù)it  -  *。sh腳本添加內(nèi)容:

$ git add git-*.sh

因?yàn)檫@個(gè)例子讓shell擴(kuò)展了星號(hào)(即你明確列出了這些文件),所以它沒有考慮subdir/git-foo.sh。

交互模式

當(dāng)命令進(jìn)入交互模式時(shí),它顯示status子命令的輸出,然后進(jìn)入其交互式命令循環(huán)。

命令循環(huán)顯示可用的子命令列表,并提示“What now>”。通常,當(dāng)提示以單個(gè)結(jié)尾時(shí)>,您可以只選擇其中一個(gè)選項(xiàng)并輸入return,如下所示:

    *** Commands ***      1: status       2: update       3: revert       4: add untracked      5: patch        6: diff         7: quit         8: help
    What now> 1

你也可以說sstastatus只要選擇是唯一的上方。

主要的命令循環(huán)有6個(gè)子命令(加上幫助和退出)。

狀態(tài)

這顯示了HEAD和索引之間的變化(即,如果你這么說會(huì)犯什么內(nèi)容git commit),以及索引和工作樹文件之間的變化(也就是你可以在git commit使用之前進(jìn)一步處理的內(nèi)容git add)。示例輸出如下所示:

              staged     unstaged path     1:       binary      nothing foo.png     2:     +403/-35        +1/-1 git-add--interactive.perl

它顯示foo.png與HEAD有區(qū)別(但是它是二進(jìn)制的,所以行數(shù)無法顯示),索引副本和工作樹版本之間沒有區(qū)別(如果工作樹版本也不同,binary將顯示在的地方nothing)。另一個(gè)文件git-add {litdd} interactive.perl添加了403行,如果您提交了索引中的內(nèi)容,則會(huì)刪除35行,但工作樹文件會(huì)進(jìn)一步修改(一次添加和一次刪除)。

更新

這將顯示狀態(tài)信息并發(fā)出“更新>>”提示。當(dāng)提示以double結(jié)尾時(shí)>>,可以進(jìn)行多個(gè)選擇,并用空格或逗號(hào)連接。你也可以說范圍。例如“2-5 7,9”從列表中選擇2,3,4,5,7,9。如果省略范圍中的第二個(gè)數(shù)字,則會(huì)采用所有剩余的補(bǔ)丁。例如“7-”從列表中選擇7,8,9。你可以說*選擇一切。

然后用你的選擇突出顯示*,如下所示:

           staged     unstaged path  1:       binary      nothing foo.png* 2:     +403/-35        +1/-1 git-add--interactive.perl

要?jiǎng)h除選擇,請(qǐng)使用-在輸入前添加如下所示的內(nèi)容:

Update>> -2

做出選擇之后,回答一個(gè)空行,為索引中選定路徑的工作樹文件的內(nèi)容分段。

還原

這與用戶界面update非常相似,并且所選路徑的暫存信息將恢復(fù)為HEAD版本的階段信息?;謴?fù)新路徑使得它們不受追蹤。

添加未跟蹤

這有一個(gè)非常相似的用戶界面updaterevert,并允許您添加未經(jīng)跟蹤路徑索引。

patch

這使您可以從status類似選擇中選擇一條路徑。選擇路徑后,它會(huì)顯示索引和工作樹文件之間的差異,并詢問您是否要逐步更改每個(gè)塊。您可以選擇以下選項(xiàng)之一并鍵入return:

y - stage this hunk
n - do not stage this hunk
q - quit; do not stage this hunk or any of the remaining ones
a - stage this hunk and all later hunks in the file
d - do not stage this hunk or any of the later hunks in the file
g - select a hunk to go to/ - search for a hunk matching the given regex
j - leave this hunk undecided, see next undecided hunk
J - leave this hunk undecided, see next hunk
k - leave this hunk undecided, see previous undecided hunk
K - leave this hunk undecided, see previous hunk
s - split the current hunk into smaller hunks
e - manually edit the current hunk? - print help

在決定所有塊的命運(yùn)之后,如果選擇了任何塊

,那么索引會(huì)用選定的塊更新。

您可以通過設(shè)置配置變量interactive.singleKeytrue來省略必須在此輸入return 。

diff

這使您可以查看將要提交的內(nèi)容(即在HEAD和索引之間)。

編輯補(bǔ)丁

調(diào)用git add -ee從交互式外觀選擇器中選擇將在您的編輯器中打開一個(gè)修補(bǔ)程序; 編輯器退出后,結(jié)果將應(yīng)用于索引。您可以隨意對(duì)修補(bǔ)程序進(jìn)行任意更改,但請(qǐng)注意,某些更改可能會(huì)導(dǎo)致混淆結(jié)果,甚至導(dǎo)致無法應(yīng)用的修補(bǔ)程序。如果您想完全中止操作(即,在索引中沒有任何新操作),只需刪除該補(bǔ)丁的所有行即可。下面的列表描述了您可能在修補(bǔ)程序中看到的一些常見事項(xiàng),以及哪些編輯操作對(duì)它們有意義。

添加內(nèi)容

添加的內(nèi)容由以“+”開頭的行表示。您可以通過刪除它們來防止暫存任何附加行。

刪除內(nèi)容

刪除的內(nèi)容由以“ - ”開頭的行表示。您可以通過將“ - ”轉(zhuǎn)換為“”(空格)來阻止他們的移除。

修改的內(nèi)容

修改的內(nèi)容由“ - ”行(刪除舊內(nèi)容),后跟“+”行(添加替換內(nèi)容)表示。您可以通過將“ - ”行轉(zhuǎn)換為“”并去除“+”行來阻止修改。請(qǐng)注意,只修改這一對(duì)的一半可能會(huì)對(duì)索引造成令人困惑的更改。

還有更復(fù)雜的操作可以執(zhí)行。但要小心,因?yàn)樵撗a(bǔ)丁只適用于索引而不適用于工作樹,所以工作樹將顯示為“撤消”索引中的更改。例如,向不在HEAD和工作樹中的索引中引入一個(gè)新行將為新行提交提交,但該行將顯示為在工作樹中恢復(fù)。

避免使用這些構(gòu)造,或者非常謹(jǐn)慎地這樣做。

刪除未觸及的內(nèi)容

在索引和工作樹之間沒有差異的內(nèi)容可以顯示在上下文行上,以“”(空格)開頭。您可以通過將空間轉(zhuǎn)換為“ - ”來移除要移除的上下文行。生成的工作樹文件將顯示為重新添加內(nèi)容。

修改現(xiàn)有內(nèi)容

也可以通過將它們分段移除(通過將“”轉(zhuǎn)換為“ - ”)并在新內(nèi)容中添加“+”行來修改上下文行。同樣,可以修改現(xiàn)有添加或修改的“+”行。在任何情況下,新的修改都會(huì)在工作樹中恢復(fù)。

新的內(nèi)容

您也可以添加修補(bǔ)程序中不存在的新內(nèi)容; 只需添加新行,每行都以“+”開頭。添加將在工作樹中顯示恢復(fù)。

還有一些應(yīng)該完全避免的操作,因?yàn)樗鼈儠?huì)使修補(bǔ)程序無法應(yīng)用:

  • 添加上下文(“”)或刪除(“ - ”)行

  • 刪除上下文或刪除行

  • 修改上下文或刪除行的內(nèi)容

上一篇: 下一篇: