似乎很容易,但我只是没有得到它。我是我申请的根本。
这是我的工作流程。
git add .
git commit -m "added a new feature some files changed"
git push heroku master
这通常有效。我所有的改变都被推了。
但有时我有一个我改变的文件,但是当我推送到Heroku时,这些文件的更改并不存在......但是对于大多数文件而言,更改都在那里......
但如果我这样做
git add .
git commit -am "added a new feature some files changed"
git push heroku master
所有(所有更改)都被推送到Heroku
答案 0 :(得分:54)
来自the docs:
git commit -a 在提交之前自动暂存所有已跟踪,已修改的文件 如果您认为工作流的git add阶段是 太麻烦了,Git允许你用-a选项跳过那个部分。 这基本上告诉Git对任何被“跟踪”的文件运行git add - 也就是说,您上次提交并且已被修改的任何文件。这允许您执行更多Subversion样式工作流程 你想要的,只需编辑文件,然后运行git commit -a 想要快照所有已更改的内容。你还需要 然而,运行git add以开始跟踪新文件,就像Subversion一样。
使用选项-am
可以在一个命令中为提交添加和创建消息。
答案 1 :(得分:11)
我建议,如果您只更改了一个文件,那么您可能会执行以下操作:
git add "Your_file.txt"
git commit -m "added a new feature in a file"
git push heroku master
或者如果您更改了多个文件,那么您可以执行以下操作:
git add .
git commit -m "some files changed"
git push heroku master
同样,您可以使用以下命令在一行上添加和提交所有文件:
git commit -am "added a new feature some files changed"
答案 2 :(得分:0)
git commit -m "first commit" 和 git commit -am "your first commit" 之间的区别在于,在前者中,您需要首先执行 "git add"。而后者不需要。 “-am”标志中的 'a' 告诉 git 首先添加所有更改
答案 3 :(得分:-1)
它正在做两份工作 1)暂存修改后的文件 2)在同一行添加注释
但它不会将文件从 unstage 添加到 stage,即它不工作 $git add 的工作。