2014-04-18 66 views
1

我有<path1>/f/gittest/foo(遠程)。 我有<path2>/f/gittest/bar(本地)。如何創建一個可推動的裸Git存儲庫,也推動文件?

由於我現在不需要遠程工作副本,主要是因爲我無法將其推入活動分支,因此我將其裸露。

我經歷並創建一個.git目錄並在/f/gittest/foo/.git內運行git init --bare。 我進去並添加一個遠程倉庫到本地倉庫,創建文件,添加,提交和推送到遠程。更改顯示爲推送,並且遠程已成功更新。但是,本地存儲庫跟蹤的文件(例如example1.txt和example2.txt)不會顯示在遠程(儘管我想在遠程回購中進行跟蹤)。如何使用推送的文件更新此遠程目錄?我以前用這種方法取得了成功,但沒有獲取鏡像,儘管我不記得如何。

雙檢行爲: mkdir alpha/; mkdir beta/; cd beta/

mkdir .git/; cd .git/; git init --bare; cd ../../alpha/

git init; touch example1.txt(文本輸入到example1.txt)

git add example1.txt; git commit -m "Initial Commit"

git remote add destination ../beta/.git; git push destination master

+0

請仔細檢查所描述的行爲。在本地添加並提交的文件在推送後立即在遠程進行提供。 – Moe

+0

@Moe遵循上面編輯的命令。推送後我沒有看到遠程文件(測試版下)。 – BLaZuRE

+0

如果在推送後在遠程執行'git log',會發生什麼? – Moe

回答

0

如果你創建一個目錄

mkdir some_dir 
cd some_dir 

和初始化裸git倉庫,

git init --bare 
git remote add origin [email protected]:username/reponame.git 

然後創建一些文件有說

echo "some_text" > somefile.txt 
echo "some_text" > somefile1.txt 

如果你把在這個階段,他們不會反映在你的遠程倉庫中。

相反,如果你犯,

git add . 
# Even if you push at this stage, you wont see the files in remote git server 
git commit -m "Pushing to git server" 

他們將反映在遠程服務器的git。

編輯:

無法在服務器上創建一個裸露的回購創建本地裸露的回購協議的方式。這是由遠程git服務器來處理這種情況。例如,take github,你可以從他們的UI創建一個裸回購,或者他們提供API。此線程可能是相關的Is it possible to create a remote repo on GitHub from the CLI without opening browser?

+0

我希望*遠程回購*是裸露的,而不是本地回購。本地回購我需要成爲工作副本。 – BLaZuRE

+0

爲了響應您的編輯,**我是**服務器,如果您想在此意義上考慮它。這是在本地文件系統上完成的,而不是通過github或其他git存儲庫服務完成的。無論如何,是否可以創建裸倉庫不是問題。遙控器的路徑也不是。 – BLaZuRE

+0

在這種情況下,我不確定如何處理這種情況。我也想知道解決方案。讓我們等待專家回答。 – Anoop

0

裸倉庫沒有檢出版本,因此只會跟蹤所有文件,但不會顯示在目錄中。 如果你想擁有一個文件夾,並檢出你的倉庫的最新提交,我會建議有一個分離的樹,在推送後通過git鉤簽出。

看到這裏Git Post-Receive Hook for Website Staging

0

首先,.git文件夾內創建一個裸露的回購協議是不是通常的最佳實踐:

  • .git是一個非裸露的回購協議(該文件夾一用一工作樹位於.git的父文件夾中)
  • foo.git將作爲裸回購'foo'的文件夾的名稱。

其次,推到裸回購意味着沒有文件會「出現」:裸回購是所有關於避免同步工作樹。

相反,你可以添加到您的裸回購一post-receivehook

export GIT_WORK_TREE=.. 
git checkout -f HEAD 

(正如我在 「Where are the project files stored in a git repository .git folder?」 提到)

相關問題