2012-05-16 79 views
1

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

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

我想我错过了使用Git的工作方式:) git diff打印无中生有。

第2期:

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也都 '犯' 和“添加'...?

;另一方面,没有什么关于我修改了预先存在的Makefile的状态...

正如你可以看到,我需要一只手:)

如果有人可以帮助我了解发生了什么事情,那会很棒!

干杯

+0

@eis这是如何解决问题的?用户只需要浏览每个文件,如果他想忽略它,就将它添加到.gitignore –

回答

3

1.I以为你忘了把你的承诺,如“混帐推起源大师”

2.“git的承诺-a”不添加新的文件,只需提交修改和删除文件,你需要使用“git add”。准备提交。

+0

嗯好的。我会尝试你的建议,谢谢。我应该“删除”我之前的提交,以便在提交历史记录中不会有两次提交吗?我怎么能这样做? – garth

+0

是的,如果他已经添加并执行了他所关心的所有事情,推动主人的承诺将解决这个错误。 –

1

首先,要注意状态消息,它告诉你有一些尚未添加,可以这样做与

git add . 
现在

未跟踪文件,以解决您的承诺,所以你不要” ⑤按2提交对象,你可以“修改”与新添加的文件的当前commit对象是这样的:

git commit --amend 

现在如果你这样做git status你就会有一个单一的commit对象准备推到远端。

我强烈建议在你的腰带下获得一些基础知识。去看看Git Immersion是一个很好的先发。

+0

谢谢,这工作得很好!和thx的tuto链接以及;) – garth

+0

@garth不客气 –

+0

@Mark当我做git commit --amend,它只显示我最后一次提交的消息。它在下次运行git status时不会改变任何东西 –