2014-01-17 123 views
0

我在Mac OS上。我打开终端,进入文件夹~/../../Search_Engine,其中包含一堆已经推送到我的GitHub的Java文件,以及该项目以前版本的文件夹(在Project 1,Project 2等文件夹中)所以我会让你运行我在做什么以及我的问题出现在哪里。git新手 - git add/commit/push/pull

再次,我cd~/../../Search_Engine,这我已经使用git init上。我试试这个:

nathan-fuller-mbp:Search_Engine nathanfuller$ git add Project\ 2 
nathan-fuller-mbp:Search_Engine nathanfuller$ git commit -m 'project 2 commit' 

,然后这个烂摊子发生......

# On branch master 
# Untracked files: 
# (use "git add <file>..." to include in what will be committed) 
# 
# AssignmentsInterface.java 
# CommandInterface.java 
# DatabaseInterface.java 
# DocumentInterface.java 
# ExpressionTreeInterface.java 
# HistoryInterface.java 
# InvertedFileInterface.java 
# InvertedListInterface.java 
# MapInterface.java 
# NextCommandInterface.java 
# Project 3/ 
# Project 4/ 
# Project 5/ 
# Project 6/ 
# ResultListInterface.java 
# TestHarness.java 
# WordListInterface.java 
nothing added to commit but untracked files present (use "git add" to track) 
nathan-fuller-mbp:Search_Engine nathanfuller$ 

所以这是我的第一个问题。任何人都可以向我解释发生这种情况时发生了什么,以及为什么它发生在第一位?

继续...我试图把(我可能不应该,因为我们已经达到我们的问题,但我会只显示反正会发生什么):

nathan-fuller-mbp:Search_Engine nathanfuller$ git push origin master 
To https://github.com/NateFuller/Search-Engine.git 
! [rejected]  master -> master (non-fast-forward) 
error: failed to push some refs to 'https://github.com/NateFuller/Search-Engine.git' 
hint: Updates were rejected because the tip of your current branch is behind 
hint: its remote counterpart. Merge the remote changes (e.g. 'git pull') 
hint: before pushing again. 
hint: See the 'Note about fast-forwards' in 'git push --help' for details. 
nathan-fuller-mbp:Search_Engine nathanfuller$ 

有什么建议?如果您希望我发布更多详细信息,请告诉我。

+0

man git。 http://try.github.io/levels/1/challenges/1或其他教程。这是非常基本的东西,与编程无关,对不起。 –

+0

issue'git stash','git pull','git stash apply',然后修正所有不一致,并且做:'git add .','git commit','git push origin master' –

+0

@MihaiMaruseac - 我可以推荐你阅读我们的“主题”页面? http://stackoverflow.com/help/on-topic:关于*“程序员常用的软件工具*”的问题,例如git,在这里是主题。谢谢。 – Kev

回答

2

所以你导航到你已经有了初始化一个git目录存储库(git init)。您成功地将目录“Project 2”添加到您的git客户端(git add Project \ 2)。然后,继续将您当前的头部(只包含项目2)提交到您的存储库。

成功提交后Git通常会提供有关当前目录中所有未跟踪文件的反馈。正如你所看到的,项目2不再存在。使用命令git log查看您在项目中完成的所有提交。

通过终端反馈判断,在初始化git repo后,您并未添加所有项目文件。 git init总是初始化一个空的存储库。您可以使用git add将您的项目文件(如果它们都放在一个目录中)添加。(不要忘记点)。

在继续解决第二个问题之前。很好意识到只能推送到与本地存储库具有相同历史记录的远程存储库。如果您的项目已经在github上,我会使用git clone(使用您最喜欢的搜索引擎)来确保您首先拥有一个具有相同历史记录的git存储库。如果您希望继续使用本地回购协议,我会重新初始化您的Github回购协议,然后将您的本地回购协议加入其中,因为空的存储库是以前的历史记录无法匹配的唯一一个存储库。

-1

看起来好像你并没有实际添加文件git add命令。

我会检查其状态与

git status

要增加整个项目的捷径是

git add -A