我是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的状态没有任何内容......
如你所见,我需要一只手:)
如果有人能帮助我了解正在发生的事情,那就太棒了!
干杯
答案 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以获得良好的入门作品。