I have installation of MinGW in D:\mingw. I have Git installation in C:\Program Files\git. I want to develop/compile using MinGW and use git for versioning.
I guess I have to use correct paths but some paths are hardcoded. Like msys mount script calls /bin/msysmnt.exe
So I have 2 options: 1. use git's shell (to be able to show me branch at prompt) 2. use mingw(msys)'s shell - to have correct paths
Whichever I choose I must make the other functionality work under it.
Git is a version management system that can run on a variety of operating systems including linux/unix operating systems. Mingw includes Git, since many developers use Mingw as a crossplatform development environment. Git can be run from a commandline or by using a GUI. You can get Git for windows and use tortoisegit if you prefer guis.
Merging takes your branch changes and implements them into the main branch. Depending on the commit history, Git performs merges two ways: fast-forward and three-way merge. Let’s examine both of these based on the branches and commit history in the following diagram.
To bring the feature1 branch into the main branch, Git performs a three-way merge. Git takes a snapshot of three different commits to create a new one: git checkout to switch to the branch you want to merge into. This branch is typically the main branch.
While working in Git, developers often make temporary commits that may have not appropriate commit messages. Before merging those commits to the master, it is necessary to combine them into a single commit with clear and comprehensive commit message. It is essential to do for having a clear commit history.
Small update: Since the Git 2.x releases, Git for Windows is based off of MSYS2 and available in 32 and 64 bit binary form. It still is a fork, and not interchangeable with the real MSYS2.
One thing you must understand: msysgit (the git you are using) is a fork of msys with added git functionality. A lot of unix tools are included in the msys shell (for a full list, see the msysgit/bin folder).
It might be possible to add additional msys tools to the msysgit bin folder, but I would not risk my head on that.
In light of this, I think it would be optimal to just add your toolchain to the msysgit path (using the bash profile file or whatever in the msysgit tree) and just use that. If a particular utility is missing, add it from the MinGW-msys tree and hope it works OK.
Alternatively, just use msys-git from cmd.exe. Since recent versions, it works very well (including git show, editing commit messages etc...). To do that, add the /cmd directory to PATH, and you can use all the git commands you want. This is what I do, as msys is a drag, but a necessary evil for git to work on Windows.
UPDATE: detailed instructions to add a directory to PATH under any kind of MSYS:
export PATH=/d/MinGW/bin:$PATH
or hackishly find /etc/profile and change this section
if [ $MSYSTEM == MINGW32 ]; then
export PATH=".:/usr/local/bin:/mingw/bin:/bin:$PATH"
else
export PATH=".:/usr/local/bin:/bin:/mingw/bin:$PATH"
fi
to:
if [ $MSYSTEM == MINGW32 ]; then
export PATH=".:/usr/local/bin:/d/MinGW/bin:/bin:$PATH"
else
export PATH=".:/usr/local/bin:/bin:/mingw/bin:$PATH"
fi
There is no cleaner way because the msys-git people disabled the fstab functionality present in vanilla msys.
Update from Nick (what I did to make it work):
I created file in C:\Program Files\Git\etc
called bash_profile
. This is the contents of the file:
export PATH=$PATH:/d/mingw/bin:/d/mingw/msys/1.0/bin
make and gcc worked.
The bash_profile
does not come with msysgit so you won't overwrite it if you update.
I put Git on the MinGW shell by opening c:\MinGW\msys\1.0\etc\profile (not in Notepad, there are no carriage returns) and adding:
export PATH=$PATH:/c/Program\ Files\ \(x86\)/Git/bin
On an x86 system this would be:
export PATH=$PATH:/c/Program\ Files/Git/bin
update:
now msys comes with git binary package.
http://sourceforge.net/projects/mingwbuilds/files/external-binary-packages/
old answer:
If you are using latest mingw & portableGit, just drop git.exe(extract the file from portableGitXXX.7z) into C:\MinGW\msys\1.0\bin\
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With