2

我是 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“提交”和“添加”都做了...??

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

如您所见,我需要帮助:)

如果有人可以帮助我了解发生了什么,那就太好了!

干杯

4

2 回答 2

4

1.我想你忘了推送你的提交,比如“git push origin master”

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

于 2012-05-16T06:44:13.307 回答
1

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

git add .

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

git commit --amend

现在,如果您这样做git status,您将有一个提交对象准备好推送到远程。

我强烈建议你掌握一些基础知识。去看看Git Immersion作为一个好的开始。

于 2012-05-16T07:25:50.330 回答