Short Question
Is there a setting with git to allow a clone to use http on one OS and ssh on another? For an exact usage: Is possible to use http protocol (cloned in Windows) on Mac OS X terminal which typically uses SSH connections
Background
I have a Macbook Pro that I dual boot with Mac OS X and Windows 7. I have a shared express-34 card that I store all of my repositories / working directories on. I use this so I can work from the Mac side or Windows side seamlessly (until now). At this point, I am unable to commit / update any changes from repositories I clone / checkout from Windows. It’s worth noting that git repos that I clone from Mac, work fine in Windows, just not the other way around.
System Information
Windows 7:
Tortoise git and Tortoise SVN
OS X:
homebrew installed git and SVN
Update
I am now sharing a single SSH checkout (at the project level) on both Mac OS X Lion and Windows 7. This is working when I am booted natively into Win 7 as well as when it is virtualized inside of Lion.
If I understand what you’re asking I don’t think this is possible using the same remote name. A particular remote is always defined by a URL which specifies the protocol. However you can add a new remote with a different URL which species a different protocol.
A problem with doing this is that you’ll have the same remote with two different names in the same repository. This means that all remote branches (origin/master etc.) will be duplicated and will get out of sync which will cause problems with any git behavior that depends on branch names instead of SHA hashes.
For example, suppose you have a remote named ‘windows’ that specifies http and a remote name ‘mac’ which specifies ssh. Suppose your repository gets behind your remote you update in OSX using git fetch/merge now mac/master is up to date but windows/master is not. This may not be a big deal to you but it does mean tracking branches and other branch name dependent behavior may not work as you expect.