我刚刚提交了我的工作树,首先添加到索引,使用“$ git commit -m'test'”我将stdout-put从此保存到文件中,我在其顶部看到它说
# On branch master
# Changed but not updated:
# (use "git add/rm ..." to update what will be commited)
# (use "git checkout -- ..." to discard changes in working directory)"
问题是我的工作树没有被提交到回购站,我觉得这与它有关系
感谢
答案 0 :(得分:28)
git push -u origin master
您最有可能尝试将提交推送到尚未创建的分支 - 例如,在新创建的Github存储库中没有自动创建的README文件。通过调用git push -u origin master
,您可以指定需要推送到的远程(origin,通常是git默认值)和分支(master,在典型情况下也是默认值)。根据git文档:
-u , - 设置上游 对于每个最新或成功推送的分支,添加上游(跟踪)引用,由无参数git-pull(1)和 其他命令。更多 有关信息,请参阅git-config(1)中的branch..merge。
这意味着在成功运行此命令后,从那时起,您将能够使用git push
和git pull
,并且默认为origin master
(有一些{ {3}})。
答案 1 :(得分:6)
在提交更改之前,必须先将其添加到索引中:
git add myfile
git commit -m "test"
或者,您可以使用更像SVN的样式并提交所有已更改的内容:
git commit -a -m "test"
或者您只需添加并提交单个文件:
git commit myfile -m "test"
答案 2 :(得分:2)
在你犯下之前你做过git add .
吗?
在git status
或git add
之前进行git commit
以查看已更改和上演的内容总是明智的。
执行git diff
以查看您即将提交的具体更改也非常方便。
如果您添加了一个文件然后将其重命名,则显示git status
显示的内容。
me@home:~$ git status
# On branch master
# Changes to be committed:
# (use "git reset HEAD <file>..." to unstage)
#
# new file: foo.txt
#
# Changed but not updated:
# (use "git add/rm <file>..." to update what will be committed)
# (use "git checkout -- <file>..." to discard changes in working directory)
#
# deleted: foo.txt
#
# Untracked files:
# (use "git add <file>..." to include in what will be committed)
#
# bar.txt
此时你可以git add .
然后git status will give you more information, perhaps pointing out that you still have a new file and a deleted file called
foo.txt . To fix this you need to manually
git rm foo.txt before doing
git commit`
将来,如果您要移动的git仓库中有文件,则应使用git mv
。
答案 3 :(得分:1)
另外需要注意的一点是,git add会在运行时将这些文件的内容添加到索引中。如果您运行git add然后更改文件,新的更改将不会显示在索引中。
答案 4 :(得分:0)
你真的必须阅读文档。
git add yourfile
git commit -m "test"
或者,提交所有已更改的文件 -
git commit -a -m "test"
答案 5 :(得分:0)
如果您之后移动文件并使用git add
,git只会添加新副本,但不会删除旧副本:
$ git status
# On branch master
nothing to commit (working directory clean)
$ mv from to
$ git add .
$ git status
# On branch master
# Changes to be committed:
# (use "git reset HEAD <file>..." to unstage)
#
# new file: to
#
# Changed but not updated:
# (use "git add/rm <file>..." to update what will be committed)
# (use "git checkout -- <file>..." to discard changes in working directory)
#
# deleted: from
#
$ git commit -m "..."
$ git status
# On branch master
# Changed but not updated:
# (use "git add/rm <file>..." to update what will be committed)
# (use "git checkout -- <file>..." to discard changes in working directory)
#
# deleted: from
#
no changes added to commit (use "git add" and/or "git commit -a")
要删除旧副本,您还应使用git rm
:
$ git rm from
rm 'from'
$ git commit -m "..."
$ git status
# On branch master
nothing to commit (working directory clean)
但我不明白为什么它不允许你提交这些更改。
答案 6 :(得分:0)
伙计们我和Git有同样的问题 我在Windows 8上运行Cygwin。
$ git remote -v
#这就是你如何看待自己的路径
$ git remote set-url origin git@github.com:username/repos.git
#这是您远程设置新路径以将文件推送到正确的存储库的方式。
$ git remote -v
#检查是否设置了正确的路径。
$ git add。
4
$ git push origin master
希望这有助于