2011-05-30 42 views
3

我真的是GIT的新手。我的目標是在PC /筆記本電腦之間同步我的Eclipse項目 - 我認爲使用GIT來做這件事是一個好主意。 所以我建立了我的知識庫,將它存入Github等。使用Git/Github在PC /筆記本電腦/ WebInterface之間同步我的項目

我寫了一個小Bash腳本,它應該爲我做同步工作。這似乎工作,但我不知道這是最好的辦法:

#!/bin/bash   
# Github Syncro Script 

# SoftwareProjekte 
cd "D:\Projekte\Software Projekte" 
git add . 
git commit -a -m "Auto-Git-Backup $(date "+%d.%m.%Y %H:%M "|sed -e ' s/\"/\\\"/g')" 
git push -u origin master 
git pull 

這是一個好主意嗎?我應該使用類似http://code.google.com/p/git-sync/的東西嗎? 關於此腳本的一些問題是我必須輸入兩次密碼。

+0

我想git的補充。如果您在提交聲明中使用-a,則是多餘的 – zode64 2011-05-30 15:50:36

+0

避免密碼的最簡單方法是使用SSH密鑰和ssh代理來保存它。 – 2011-05-31 13:23:38

+0

@Douglas:這是如何工作的? – Fannon 2011-05-31 18:43:58

回答

2

我使用這樣的腳本來處理git,這很好,因爲您可以在學習更多功能時開發自定義腳本,還有其他工具,但它只是歸結爲個人偏好。

有一件事我會說,從git的同步是那樣簡單

git pull 

如果您commiting首先與git你應該做一拉,以減少本地副本的危險是舊版本並製造衝突。

事情是這樣的:

cd "D:\Projekte\Software Projekte" 
git pull 
git add . 
git commit -a -m "Auto-Git-Backup $(date "+%d.%m.%Y %H:%M "|sed -e ' s/\"/\\\"/g')" 
git push -u origin master 
+0

這意味着,我不應該首先提交任何內容,而只是使用git pull? – Fannon 2011-05-30 14:48:32

+0

Git pull不向我的遠程回購提交任何內容。所以這只是爲了獲得我已經通過其他設備提交的最新狀態? – Fannon 2011-05-30 15:28:27

+0

在我的回答中並不清楚,所以更新 – zode64 2011-05-30 15:46:31

0

現在,我想我已經瞭解了一些關於GIT和我的新Syncro的腳本看起來像:

#!/bin/bash   
# Github Syncro Script 

git pull 
git add --all 
git commit -m "Auto-Git-Backup $(date "+%d.%m.%Y %H:%M "|sed -e ' s/\"/\\\"/g')" 
git push -u origin master 

git add --all似乎比commit -a因爲它增加了新文件並刪除已刪除的文件。

它也看起來像我必須拉我(我的遠程更改與我自己的),然後才能推我的本地更改。 (如有衝突)

這是正確的嗎?

順便說一句:這篇文章/圖形幫了我很多理解GIT Repositorys是如何工作的: http://gitready.com/beginner/2009/01/21/pushing-and-pulling.html

相關問題