2013-02-22 116 views
0

我只是不明白爲什麼這樣一個容易看的東西不寫在任何地方......所以我努力在遠程GitStack存儲庫上創建一個分支。我瀏覽了幾十個網頁,發現了無數的建議,但是我嘗試的其中一個,我總是以「致命的:不是git存儲庫(或任何父目錄):.git」錯誤消息。 我使用Web界面在GitStack中創建了一個空的存儲庫。 到目前爲止,我最好的嘗試是:遠程GitStack - 創建分支

git clone http://abc.def.ghi.jkl:9876/TestRepo.git 

這告訴我,我已經克隆了一個空庫。然後我試圖推一個分支:

git push remote http://abc.def.ghi.jkl:9876/TestRepo.git 

爲此我每次都收到錯誤消息。所以基本問題:我不能將我的項目推到Git倉庫,因爲不存在分支。但我甚至無法創建一個breanch。任何建設性的想法,我出錯了?

回答

0

您首先必須在本地提交更改,然後才能推送它們。

git add . 
git commit -m "Commit message" 
0

Intial你有一個空的本地存儲庫。

一些文件添加到該文件夾​​並運行這些命令

git add * 
git commit -m 'My message' 

如果你正在尋找一個分支做到以下幾點。

git checkout -b branchName 

這會創建一個分支並自動將其移動到它。添加一些文件或更改一些文件,做同樣的第一次如此:

git add * 
git commit -m 'My message' 

現在,你必須在主分支的提交,並從第一次提交的分支稱爲BRANCHNAME分支。現在你可以留在你的新分支並繼續在那裏工作,或者你可以在主和分支之間來回切換,以在兩個地方工作。

git checkout master - takes you back to master 
git checkout branchName - takes you to the branch 

如果要合併你分支掌握做到以下幾點:

git checkout master 
git merge branchName 

然後解決衝突如果有任何araise與

git add * 
git commit -m 'Commit message' 

希望繼續我澄清它爲你

如果你想使用git push來推動一個分支,那麼簡單地做到這一點

混帳推起源BRANCHNAME:remoteBranchName

BRANCHNAME是要推動分支的名稱和remoteBranchName是你想要的,當你把它推到服務器時,它有名字。

原始位置是第一次克隆時爲遠程回購提供的默認名稱。如果原產地不存在,或者您的遙控器有不同的名稱,然後運行這個:

git remote - this will list all remotes set up 

然後,只需使用列表中的一個名稱(任何一個你想推到)

+0

「'混帳提交-m「我message''這將自動發送您的文件到遠程回購。「沒有。「原本你有一個空的本地存儲庫。」克隆後通常不是 – KingCrunch 2013-02-22 22:24:59

+0

對不起,我滑倒了提交,在他的情況下,他說,他初始化和清空回購,所以它將是空的,如果有服務器克隆文件將拉他們(在大多數情況下,你有文件- 我知道) – 2013-02-22 22:31:21

0
git push remote http://abc.def.ghi.jkl:9876/TestRepo.git 

這意味着,您要將分支http://abc.def.ghi.jkl:9876/TestRepo.git推送到名爲remote的遠程。你所尋找的是

git push origin <localBranchName>[:<remoteBranchName>] 

origin是你最初從克隆遙控器上的默認名稱。您可以隨意更改它(以及您可以擁有與本地存儲庫關聯的多個遙控器),但那是另一個主題。

localBranchName是您的本地(工作區)存儲庫中分支的名稱。當然,它必須存在

git branch localBranchName 
git checkout localBranchName 

,通常你應該有comitted給它一些有用的東西

# do something useful 
git add fileA 
# and so on (or just "git add .") 
git commit 

現在,你可以把它

git push origin localBranchName 

可以省略remoteBranchName如果應該的話與本地名稱相同。 BTW:對初級開發分支的(按照約定)分支的默認名字是master(與SVNs trunk比較)

更新:東西可以讀:) http://git-scm.com/book

相關問題