git commit -a不起作用

时间:2012-05-16 06:36:44

标签: git

我是Git的新手,我已经遇到了一些问题...... 我确实将一个存储库(在BitBucket上)克隆到我的机器上,并修改了一个文件'Makefile'并创建了3个新文件(c_file,gma.txt和ded_mpi.dat)。 然后,我键入以将这些添加/更改提交到主存储库:commit -a并在文本编辑器中编写了一条消息)

我这里有2个问题。首先,我认为这会将我的更改提交给主代理,但它不会(我通过克隆主版本来检查它:我的更改不包括在内)。 但是,在我的机器上的代表中,git log包含我的消息......

我想我错过了Git的工作方式:) git diff什么都不打印。

第二期:

git status打印:

# On branch master 
# Your branch is ahead of 'origin/master' by 1 commit. 
# 
# Untracked files: 
# (use "git add <file>..." to include in what will be committed) 
# 
#   c_file  
#   gma.txt 
#   ded_mpi.dat 
nothing added to commit but untracked files present (use "git add" to track) 

文件c_file,gma.txt和ded_mpi.dat已提交但未添加......我认为commit -a同时执行'commit'和'add'...... ??

另一方面,关于我修改的预先存在的Makefile的状态没有任何内容......

如你所见,我需要一只手:)

如果有人能帮助我了解正在发生的事情,那就太棒了!

干杯

2 个答案:

答案 0 :(得分:3)

1.我认为你忘了推动你的提交,比如&#34; git push origin master&#34;

2。&#34; git commit -a&#34;不要添加新文件,只提交修改和删除文件,你需要使用&#34; git add。&#34;准备提交。

答案 1 :(得分:1)

首先,请注意状态消息,它告诉您有尚未添​​加的未跟踪文件,可以使用

完成
git add .

现在,要修复您的提交,以便不要推送2个提交对象,您可以使用新添加的文件“修改”当前提交对象,如下所示:

git commit --amend

现在,如果你执行git status,你将有一个提交对象准备推送到远程。

我强烈建议你掌握一些基础知识。请参阅Git Immersion以获得良好的入门作品。