2014-01-17 89 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