2016-04-27 83 views
1

我在嘗試GIT並遇到問題。在本地服務器和本地PC上使用GIT

我有我的本地機器(我們稱之爲MAC)和一臺服務器(我們稱之爲服務器)。這是一個本地服務器,我通過桌面上的別名訪問它。

我想在這個SERVER中創建一個GIT倉庫,在這個倉庫中我將保留我的文件並將這些文件拖入我的MAC中。然後,在編輯之後,我想將這些更改提交給SERVER。

SERVER  MAC   SERVER 
source -->> copy -->> commit 

聽起來很GIT樣,但我只能找到這些教程遠程服務器,與登錄名和密碼並且這樣。如何用本地服務器做到這一點?

其他人使用這個本地服務器,如果他們可以提交併提交這個相同的SERVER存儲庫,那將會很好。

非常感謝。

ps:我正在使用SourceTree GUI,但我對終端並不陌生。

+0

本地和遠程服務器有什麼區別?另外,看到這個:http://stackoverflow.com/questions/315911/git-for-beginners-the-definitive-practical-guide – Amiramix

+0

這是一個很好的問題。有什麼不同?當我說本地服務器時,我的意思是我可以通過我的電腦訪問它,沒有像github或位於其他地方的服務器的網站(我不知道我是否清楚) – angelod1as

+0

如果您在服務器上安裝了git,並有SSH訪問權限,這就是你所需要的。如果你想要的不僅僅是一個非常基本的設置,那麼你可以使用類似[Gitolite](http://gitolite.com/)的東西。如果您想要一個完整的自託管GitHub克隆,可以使用[Gitlab](https://about.gitlab.com/)或[Gogs](https://gogs.io/)之類的東西。請參閱http://stackoverflow.com/questions/10888300/gitosis-vs-gitolite –

回答

0

訪問本地和遠程服務器上的中央Git存儲庫沒有區別。無論哪種情況,所有教程均有效。對於基本訪問,您只需:

  1. 在服務器上創建一個普通用戶帳戶(例如git或george)。
  2. 設置對該帳戶的SSH密鑰訪問權限。網上有很多教程,只需選擇一個。例如Github tutorial。目標是當你在Mac上時,你可以不用用戶名/密碼就直接用SSH連接到服務器上的用戶帳戶。
  3. 登錄到服務器上的用戶帳戶創建一個純粹的Git存儲庫。

就是這樣,那麼你可以從你的Mac訪問該存儲庫。

例如,假設服務器名稱是myserver.com,它的IP是192.168.1.50。您通過SSH登錄到該服務器:

ssh [email protected] 

如果密鑰設置正確,您現在已登錄(不提供用戶名/密碼)。現在創建純倉庫:

mkdir mygit 
cd mygit 
mkdir myrepository.git 
cd myrepository.git/ 
git --bare init 

然後在Mac上創建一個新的存儲庫:

mkdir mylocalrepo 
cd mylocalrepo 
git init 
echo "sometext" > firstfile.txt 
git add firstfile.txt 
git commit -m "First commit" 

現在,您可以指定服務器作爲本地資源庫遠程存儲庫上創建的存儲庫。在Mac(或任何其他機器上要訪問該資源庫):

git remote add origin [email protected]:mygit/myrepository.git 
git push origin master 

或者,使用的服務器名稱,而不是IP,和不同的遠程名稱:

git remote add origin2 [email protected]:mygit/myrepository.git 
git push origin2 master 

一旦你有那些基本的工作,你可以開始考慮添加一個WWW接口。

+1

有關服務器設置的更多信息,請參閱git-scm書籍: https://git-scm.com/book/en/v1/Git-在最服務器的建立最服務器 – xero

相關問題