Using git on Windows: Difference between revisions
No edit summary  | 
				No edit summary  | 
				||
| Line 8: | Line 8: | ||
* Install notepad++, a nice reliable simple Windows editor.  | * Install notepad++, a nice reliable simple Windows editor.  | ||
** Set up a batch file to run notepad++ – make sure that the batch file does not have any spaces in the path to it – I named mine [c:\npp.bat]:  | ** Set up a batch file to run notepad++ – make sure that the batch file does not have any spaces in the path to it – I named mine [c:\npp.bat]:  | ||
<pre  | <pre>#!/bin/sh  | ||
"C:/Michae~1/System~1/npp/notepad++.exe" -multiInst "$*"  | "C:/Michae~1/System~1/npp/notepad++.exe" -multiInst "$*"</pre>  | ||
** Note that I avoided spaces in the path.  I also found that a single quote in the path will screw up msysgit.  | ** Note that I avoided spaces in the path.  I also found that a single quote in the path will screw up msysgit.  | ||
** Set the git editor up as follows (using a msysgit Git Prompt Here):  | ** Set the git editor up as follows (using a msysgit Git Prompt Here):  | ||
<pre  | <pre>git config --global core.editor C:/npp.bat</pre>  | ||
* Set up a scripts directory in your Windows path.  Mine is: C:\Michael's Data\development\thedigitalage\hangthedj\windows_scripts  | * Set up a scripts directory in your Windows path.  Mine is: C:\Michael's Data\development\thedigitalage\hangthedj\windows_scripts  | ||
* Set up an "update" script like this:  | * Set up an "update" script like this:  | ||
<pre  | <pre>@echo off  | ||
c:  | c:  | ||
set BASEDIR=C:\Michael's Data\development  | set BASEDIR=C:\Michael's Data\development  | ||
| Line 39: | Line 39: | ||
cd %BASEDIR%/Reusable  | cd %BASEDIR%/Reusable  | ||
call git pull  | call git pull  | ||
</pre>  | |||
* Set up a "commit" script like this:  | * Set up a "commit" script like this:  | ||
<pre  | <pre>@echo off  | ||
c:  | c:  | ||
set BASEDIR=C:\Michael's Data\development  | set BASEDIR=C:\Michael's Data\development  | ||
| Line 59: | Line 59: | ||
echo --- Reusable  | echo --- Reusable  | ||
cd %BASEDIR%/Reusable && call git commit -a && call git push  | cd %BASEDIR%/Reusable && call git commit -a && call git push  | ||
</pre>  | |||
Revision as of 19:17, 25 November 2011
Git in Windows is currently (11/2011) in a sorry state of affairs. This is mainly due to msysgit being the "official git Windows client" and being a big bloated sac of crap.
Enough whining. Let's set it up so we can use it from Windows batch files.
- Install msysgit
- Tell it to use plink
 
 - Make sure putty is installed with a valid ssh session, and remember to fire up pageant with your ssh key imported before using git
 - Install notepad++, a nice reliable simple Windows editor.
- Set up a batch file to run notepad++ – make sure that the batch file does not have any spaces in the path to it – I named mine [c:\npp.bat]:
 
 
#!/bin/sh "C:/Michae~1/System~1/npp/notepad++.exe" -multiInst "$*"
- Note that I avoided spaces in the path. I also found that a single quote in the path will screw up msysgit.
 - Set the git editor up as follows (using a msysgit Git Prompt Here):
 
git config --global core.editor C:/npp.bat
- Set up a scripts directory in your Windows path. Mine is: C:\Michael's Data\development\thedigitalage\hangthedj\windows_scripts
 - Set up an "update" script like this:
 
@echo off c: set BASEDIR=C:\Michael's Data\development set EDITOR=C:/npp.bat echo --- log cd %BASEDIR%/thedigitalage/log call git pull echo --- hangthedj cd %BASEDIR%/thedigitalage/hangthedj call git pull echo --- ampache_tda cd %BASEDIR%/thedigitalage/ampache_tda/3.5 call git pull echo --- website cd %BASEDIR%/thedigitalage/website call git pull echo --- philanthropy_engine cd %BASEDIR%/thedigitalage/philanthropy_engine call git pull echo --- Reusable cd %BASEDIR%/Reusable call git pull
- Set up a "commit" script like this:
 
@echo off c: set BASEDIR=C:\Michael's Data\development set EDITOR=C:/npp.bat echo --- log cd %BASEDIR%/thedigitalage/log && call git commit -a -m "Another log commit, from wimpy-windows" && call git push echo --- hangthedj cd %BASEDIR%/thedigitalage/hangthedj && call git commit -a && call git push echo --- ampache_tda cd %BASEDIR%/thedigitalage/ampache_tda/3.5 && call git commit -a && call git push echo --- website cd %BASEDIR%/thedigitalage/website && call git commit -a && call git push echo --- philanthropy_engine cd %BASEDIR%/thedigitalage/philanthropy_engine && call git commit -a && call git push echo --- Reusable cd %BASEDIR%/Reusable && call git commit -a && call git push