我已经在一个分支上进行了一轮更改,有10个修改过的文件和10个已删除的文件。
如果我运行git add .
,这只会将修改过的文件添加到我的提交中。我想要从远程存储库中删除已删除的文件,同时添加我的修改后的文件。
我可以使用git rm filename
,但由于我有很多文件需要删除,所以我想知道是否有一种方法可以删除所有文件。
我通过谷歌搜索发现git rm -r *
,但这似乎不起作用。
有没有命令可以让我做到这一点?
我已经在一个分支上进行了一轮更改,有10个修改过的文件和10个已删除的文件。
如果我运行git add .
,这只会将修改过的文件添加到我的提交中。我想要从远程存储库中删除已删除的文件,同时添加我的修改后的文件。
我可以使用git rm filename
,但由于我有很多文件需要删除,所以我想知道是否有一种方法可以删除所有文件。
我通过谷歌搜索发现git rm -r *
,但这似乎不起作用。
有没有命令可以让我做到这一点?
如果你想将所有更改和删除的文件进行暂存并在一行中提交:
git commit -am "changing and deleting files"
注意,这个命令不会添加新文件,因为Git是用来跟踪变更的。它依赖于您告诉它哪些文件很重要需要跟踪。
如果您有一些文件需要跟踪或者只想在提交之前暂存更改,您必须手动添加文件或使用通配符:
git add -A
暂存所有(包括新文件、修改和删除)git add .
暂存新文件和修改文件,但不包括删除文件git add -u
暂存修改和删除文件,但不包括新文件然后进行提交:
git commit -m "..."
git add .
会将已删除的文件也加入到暂存区。 - Caleb Miller尝试以下操作:
git add -u
命令将所有更改(包括已删除/更新的文件)添加到暂存区。
然后运行git commit -m '你的提交信息'
即可提交更改。
使用交互式git add,可以选择要添加的文件:
git add -i
。2
(更新部分)。1-10
。git add 文件名
git add --all .
git rm -r *
命令之后,您需要提交文件并进行推送,然后您就会看到变化。git add .
git commit -m 'Remove all files'
git push
git add <文件名>
。 - EQuimpergit status | grep <state> | awk -F ':' '{print $2}' | xargs git add
# or
git status | grep <state> | awk -F ':' '{print $2}' | xargs git commit -m "<msg>"
# for deleted files only:
git status | grep deleted | awk -F ':' '{print $2}' | git commit -m "<msg>"
如果您掌握每个工具,则该命令大多是不言自明的。如果您不知道,请学习它们,它们很有用。简而言之:grep查找具有指定状态(例如“已删除”)的行。awk过滤第二列。xargs将其转换为参数格式。
为此/这些流程创建别名使其成为一项微不足道的任务。
push
更改,并从远程服务器进行pull
。git add .
来跟踪所有更改。git commit -m“your message”
进行提交。git push origin [your-branch]
将更改推送到您的远程存储库。ssh
连接到远程服务器,导航到项目路径并执行pull
以获取这些更改。git pull origin [your-branch]
git add what/the/path/to/the/file/used/to/be
。当您有一两个删除要添加时,这很有帮助,但不能在一个命令中添加一批删除。 - Kevin