2014-09-24 103 views
2

我有一個我想在GitHub上維護的Dart服務器端項目。使用2個酒吧軟件包「git」&「github」進行簡短實驗。如何使用Dart將文件推送到GitHub

cd project_directory 
git init 
git add . 
git commit -m "your_commit_message" 
git remote add origin https://github.com/[your_user_name]/[repo_name] 
git push origin master 

是否有飛鏢的標準實現:同樣使用Process.Run爲典型的批處理命令考慮? Devs是否在使用Process.Run來滾動自己? 找到一個簡單直接的文檔HeloWorld類型示例推送到GitHub會很好。 任何想法或例子非常感謝!

+1

我也不會怕寫你通過Process.run調用()的shell腳本。沒有錯。 :) – 2014-09-24 23:13:18

+0

謝謝,正是我最終做的。我會把它發佈給其他人。 – 2014-09-26 02:39:42

回答

1

Chrome Dev編輯團隊已經在Dart編寫了一個本地Git客戶端(我認爲它是in here)。它不完整,我不知道你可以輕鬆使用它(它不是一個酒吧包;我不知道它會不會);但如果我試圖與Git進行交互,那肯定會開始。這是CDE非常重要的一部分,因此Google一定會開發它,直到它可以正常運行爲止。

+0

謝謝,代碼看起來像一個偉大的想法和學習來源! – 2014-09-25 17:36:19

0

要跟進Danny的回覆,請參閱CDE項目GettingStarted.md中的「Git工作流程」部分。

CDE位於Chrome商店中。將git項目克隆到CDE後,可以右鍵單擊文件以提交更改,以及其他git函數。

+0

@ Danny,@ user104531:感謝您的鏈接。 CDE的git庫是非凡的工作!很想把它看作一個酒吧包。 – 2014-09-26 02:36:23

1

決定現在用Windows命令文件去「舊學校」。在這裏張貼櫃面其他有興趣:

:: -------------------------------------------- 
:: PUBLISH TO GITHUB 
:: dxConsole:Dart Console Library for Windows(32/64bit Native Extension) 
:: -------------------------------------------- 
mode con:cols=100 lines=200 

setlocal 

:: -------------------------------------------- 
:: Initialize environment variables 
:: -------------------------------------------- 
set ERRORMSG= 
:: <<< Set Paths >>> 
set PATH-GITLOCALREPRO=%TMP%\dxConsole 
set PATH-GITHUBDXCONSOLE=[https://github.com/osstekz/dxConsole][1] 
set PATH-DXCONSOLEPROJECTPATH=C:\Users\OSSDevYorgi\DartProjects\libraries\native-ext\dxConsole\ 

:: <<< remove the temp directory >>> 
rmdir /s /q %PATH-GITLOCALREPRO%\ 
:: <<< make temp GitRepro sub folders >>> 
mkdir %PATH-GITLOCALREPRO%\ 
if %ERRORLEVEL% NEQ 0 goto ERRORHANDLER 

:: -------------------------------------------- 
:: <<< Init/clone local repository >>> 
:: -------------------------------------------- 
::go into folder.. 
cd %PATH-GITLOCALREPRO% 
::if folder is empty, then clone repro 
git clone %PATH-GITHUBDXCONSOLE% . 
::else 
::git init 
::git remote add origin %PATH-GITHUBDXCONSOLE% 
::git config user.name "<your user name>" 
::git fetch 
::git checkout -t origin/master 

if %ERRORLEVEL% NEQ 0 goto ERRORHANDLER 

:: -------------------------------------------- 
:: <<< Copy local project files to local git repository >>> 
:: -------------------------------------------- 
:: <<< Set Dart project path >>> 
cd %PATH-DXCONSOLEPROJECTPATH% 

:: <<< Copy example folder >>> 
rmdir /s /q %PATH-GITLOCALREPRO%\example\ 
xcopy /Y example\dxConsoledemo_*.* %PATH-GITLOCALREPRO%\example\ 
if %ERRORLEVEL% NEQ 0 goto ERRORHANDLER 
:: <<< Copy lib folder >>> 
rmdir /s /q %PATH-GITLOCALREPRO%\lib\ 
xcopy /Y /e lib\*.* %PATH-GITLOCALREPRO%\lib\ 
if %ERRORLEVEL% NEQ 0 goto ERRORHANDLER 
:: <<< Copy bin folder >>> 
rmdir /s /q %PATH-GITLOCALREPRO%\bin\ 
xcopy /Y git\bin\dxConsole_win*.dll %PATH-GITLOCALREPRO%\bin\ 
if %ERRORLEVEL% NEQ 0 goto ERRORHANDLER 
:: <<< Copy root items >>> 
copy git\gitattributes.txt %PATH-GITLOCALREPRO%\.gitattributes 
if %ERRORLEVEL% NEQ 0 goto ERRORHANDLER 
copy git\gitignore.txt %PATH-GITLOCALREPRO%\.gitignore 
if %ERRORLEVEL% NEQ 0 goto ERRORHANDLER 
copy git\license.txt* %PATH-GITLOCALREPRO%\LICENSE 
if %ERRORLEVEL% NEQ 0 goto ERRORHANDLER 
copy git\README.md %PATH-GITLOCALREPRO%\README.md 
if %ERRORLEVEL% NEQ 0 goto ERRORHANDLER 
copy pubspec.yaml %PATH-GITLOCALREPRO%\ 
if %ERRORLEVEL% NEQ 0 goto ERRORHANDLER 

:: <<< Update Github >>> 
cd %PATH-GITLOCALREPRO% 

git add . 
git commit -m "v0.8.0" 
::git commit -a 
git push origin master 

@echo. 
@echo ----------------------------------------- 
@echo SUCCESS:GOOD JOB 
@echo ----------------------------------------- 
@echo. 
goto :exit 
:: -------------------------------------------- 
:: SUBROUTINE:ERRORHANDLER 
:: -------------------------------------------- 
:ERRORHANDLER 
@echo. 
@echo ----------------------------------------- 
@echo ERROR:%ERRORMSG% 
@echo ----------------------------------------- 
@echo. 
pause 
:: -------------------------------------------- 
:: END OF JOB 
:: -------------------------------------------- 
:exit 
::%temp%\dxConsole.log 
::set 
:exit1 
::pause 
+0

我還沒有使用它自己,但有了這個包,它應該很容易寫在Dart https://pub.dartlang.org/packages/git – 2014-09-26 04:20:26