svn - 相当于 "svn -v status"的 git

标签 svn git git-svn

我想知道版本控制已知的文件列表。

我知道在 SVN 中,你可以这样做:

svn -v status

然后你得到一个列表

"[rev#1] [rev#2] [creator] [file name]"

rev#1 是包含此文件的最后一个修订版,rev#2 是包含此文件的第一个修订版。

此列表包含 svn 跟踪的所有文件,而不仅仅是那些具有本地更改的文件。

我想知道如何使用 GIT

最佳答案

你有this proposition与 git 等效的 svn 状态:

git config alias.svn-status \!"\
{ \
git ls-files -o --directory -t ; \
git status | grep --color=never 'deleted:    ' | sed 's|^.*deleted:    ||' | sed 's|^|D |' ; \
git ls-files -m -s | awk '{print \$NF}' | sort -u | sed 's|^|M |' ; \
} \
| sort -k 2 \
| sed 's|^\\(.\\) *|\\1      |'"

我怀疑 Techism 提到的 git log --name-status (在评论中)在这个SO question可能会使别名更短。

它的变体实际上是基于diff --name-status:

svn-status = "! git ls-files --exclude-per-directory=.gitignore --exclude-from=.git/info/exclude --exclude-from=$HOME/.gitignore --others -t | sed 's| |\t|'; git diff HEAD --name-status "

关于svn - 相当于 "svn -v status"的 git,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5279981/

相关文章:

git:更有效的方法

svn 无法 svn mkdir 我的存储库下的文件

linux - 没有管理员权限的服务器中组的 Git 存储库

git - 如何在循环中运行 svn update 以将提交导入到 git?

svn - git-svn 克隆错误 : error: there are still refs under 'refs/remotes/tags'

git - 从 git-diff 中排除文件

html - 比较同一网站的两个版本

eclipse - 使用 Eclipse x64 进行子剪辑

svn - 从多个文件恢复 SVN 备份

ruby-on-rails - 无法推送 heroku