我正在修改一个脚本,该脚本检查以下结果代码的svn状态:!
在文档中,我可以看到!对应于以下描述:
项目丢失(例如,您在未使用 svn 的情况下移动或删除了它)。这也表示目录不完整(签出或更新已中断)。
SVN 结果示例:
svn status
! trunk/script/test.txt
有人可以说出 git 结果替代方案是什么!我已经检查了 git 文档,但我不确定是否 svn !对应于 D。
感谢您的帮助!
SVN和Git在这方面的工作方式略有不同。粗略的 Git 等效项将从工作目录中删除,但不会暂存。
$ rm this
$ 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: this
no changes added to commit (use "git add" and/or "git commit -a")
您可以获得带有git status -s
的简短版本,在这种情况下,它是第二列中的 D。
$ git status -s
D this
Git 有一个"暂存区",可以将其视为构建新提交的地方。您对工作目录(即磁盘上的文件)进行更改,然后使用git add
和git rm
"暂存"它们。然后git commit
提交上演的内容。
Git 可以让你在 Git 之外添加、删除和更改文件。除非明确上演,否则它不会提交它们。
$ git rm this
rm 'this'
$ git status
On branch master
Changes to be committed:
(use "git reset HEAD <file>..." to unstage)
deleted: this
简短的版本是第一列中的 D。
$ git status -s
D this
有关详细信息,请参阅git status
。
相比之下,SVN没有暂存区域;磁盘上更改的内容就是提交的内容。因此,在不告诉SVN的情况下删除跟踪文件是不正常的;您可能不是故意删除该文件。SVN 提交比在 Git 中更难修改和撤消。