Git on windows :| [duplicate] - windows

This question already has answers here:
Using Git on Windows
(5 answers)
Closed 5 years ago.
i've been experimenting with git as my personal code rep.. and it has been a bit of a disaster with windows.
i've used Subversion, CVS, and Perforce in the past.. none were as annoying to use as git.
i've figured out the PGP part (for github), although my workstation no longer lets me check in, and after searching around it turns out that git bash is using putty which is not that reliable and should be configured with something else..
i was not able to configure it with windows shell extension for a nice visual of what is part of the repository, what is modified, and easy check ins, and easy pushes..
has anyone successfully configured some kind of windows shell client and can efficiently and quickly synchronize various machines?
It just seems to be more pain to use than it is worth..

I use http://code.google.com/p/msysgit/ to great success. I get a nice cygwin bash shell. And even git gui works just fine.
I avoid all shell extensions (except for git-bash shell here, which is trivial) the vast majority of easy things can be achieved from git gui and gitk

My advice is to stay away from cygwin git. I found it unreliable, and making it use an ssh agent like pageant is a nightmare. msysgit and plink is the best combination. Also, don't mess around with line-endings: check out as-is, commit as-is.
As a graphical frontend, I like Git Extensions, which comes bundled with msysgit, and is more reliable than TortoiseGit, which is a shell extension that frequently takes down the entire Windows Explorer in flames...

Related

Stopping SSH Agent when closing Git Bash on Windows

After being hesitant of using ssh-agent for quite a while now, I finally decided to use it. I am typically on Windows working with git-bash. I was glad to find a helpful question about Running SSH Agent when starting Git Bash on Windows.
However, I did not find a question answering the opposite problem. How do you automatically close the ssh-agent when closing the git-bash.
A blog post about best pratices with ssh-agent triggered this idea. However, the solution there doesn't seem to fit 100% to my environment. I am not too familiar with all the configuration possibilities of Linux systems. But I figured that for .logout and.bash_logout to work you need to (a) start the shell as a login shell and (b) need to leave the shell using exit or logout commands.
Luckily, (a) seems to be the standard for git-bash. With the solution of the blog post the ssh-agent is stopped when I exit,logout the git-bash. As a Windows guy, however, most of the time I close everything - including command prompts - by means of the UI (the X marks the spot). From that some questions arise:
Can you adapt the .logout,.bash_logout solution to also consider closing the git-bash via UI?
If not, what would be a solid alternative?
In either way, when multiple git-bash windows are open, how would you prevent stopping the ssh-agent as soon as the first git-bash is closed? Ideally, ssh-agent should only be stopped after the last git-bash is closed.
Is there a completely different, preferable way of managing ssh-agent in a Windows environment.

where to download GIT for windows? [duplicate]

I want to install git on windows. my main interest is using it from command line rather than a gui.
Googling takes me to http://code.google.com/p/msysgit/downloads/list but this has words like preview and beta - gives me a cool feeling. Where can I download it and which version.
I am using the msys based version of git on Windows. It's actually really well done. You get lots of niceties for free like bash tab completion, branch indication, gitk is hooked up, etc.
The fact that they are unwilling to call these releases "final" has never been an issue. I've never had any problems.
And btw, github sends you to that installer for git on Windows too. Which should give you a bit more confidence.
gitforwindows.org and git-scm.com are both legit.
The Download for Windows page links to git-for-windows.github.io, which is now a redirect to https://gitforwindows.org/.

Tortoisehg opens console windows when working with subrepos. How do I stop it?

I have a mercurial repo with a git subrepo.
Whenever I open TortoiseHG, multiple (5-10) console windows are opened and quickly closed (in less than 1 second). I'd like to make tortoise work without showing those windows.
My best lead so far is this old thread.
It's for SVN, but it seems to be on the right track.
I'm ok with modifying python scripts, though I'd prefer to make it work without resorting to that.
I'm using msysgit with openssh on windows.
Have a look at this class:
http://hg.intevation.org/mercurial/crew/file/61c8327ced50/mercurial/subrepo.py#l901
That should contain the relevant code. This might also be of use:
http://hg.intevation.org/mercurial/crew/file/61c8327ced50/mercurial/win32.py#l281

Github: Why do I need it? [closed]

Closed. This question is off-topic. It is not currently accepting answers.
Want to improve this question? Update the question so it's on-topic for Stack Overflow.
Closed 10 years ago.
Improve this question
I am still quite unsure how to use it, but I just downloaded Git and I was setting it up according to their web page. The section on password caching says if I don't have to enter my password every time, I can use Github for Windows. I was confused so I found a question here asking "what is github anyway?" and the answers say it's a website or it's web hosting. So I clicked the Github for Windows link on the how-to page and next thing I know I'm downloading an .exe file.
If Github is a website, why do I need an .exe file?
Is the only benefit to not type in your password?
How does Github relate to Git Bash?
Are Git and Git Bash the same thing?
P.S. I have 2 computers, 1 is XP and the other Win7. The downloads I'm talking about were on the XP but I will also put it on the 7 if I can determine that I need it.
How does Github relate to Git Bash?
Are Git and Git Bash the same thing?
The latter question first: Not exactly. Git is a collection of programs allowing you to track changes in source files (really any kind of non-binary file and some binary files). Git Bash is one of the ways to actually run Git on Windows. Since Git was written for Linux, it relies heavily on Unix-like functionality which isn't present in Windows; that problem is solved by msysGit, a package containining Git and a Unix compatibility layer.
Git Bash is the version of the Bash shell, provided as part of msysGit. If you're familiar with the Windows command prompt, Bash is basically like a Unix/Linux equivalent. It opens a command-line window where you can type Git commands or other commands.
The former question: GitHub for Windows is another, GUI-based Git client. I don't have it myself to check, but from what I've found online it looks like GitHub for Windows includes msysGit also, and thus Git Bash. But you shouldn't need to use Git Bash much (if at all) with GitHub for Windows.
the exe is simply a windows interface to sync code to the github website (where you can track changes and then download it to your other computer)
normally you use a command line interface to control git (bash is a linux command line- 'git bash' would be for linux command line)
Stick with msysgit on the command line. The GUI client leaves a lot to be desired. you don't get command history, you don't get tab completion, you don't get scripting and you don't get piping.
You will also find a lot more material on line to help you if you use msysgit or git on Linux.
git is a version control system.
Github is a web service providing webspace that is accessible via the git version control system.
git can be used without Github.
There are several clients that "implement" git (e.g. TortoiseGit or the "original" git) on various platforms.
Github for Windows is an application facilitating work with Github, but not necessary for using Github or git.
You should visit github home, it says following:
"Git is an extremely fast, efficient, distributed version control system ideal for the collaborative development of software."
Basically Github is a hosted repository for your software source code. It maintains versioning for your source code files and you have various plans for that. For example if you are planning to host an open source project you can host unlimited of them with free account while if you want private repository you have to start looking for some paid plan.
It's social development environment on top of Git version control system. It similar to SVN, Microsoft VSS but it's hosted while if you use Microsoft VSS, generally we host it on intranet by setting up some VSS Server in network itself.
Windows Binary file (.exe) is the tool to manage your repositories/project directories on GitHub and get it synced on local / repos. So more like VSS Client but much much different at the same time.

Is there a good way to work with a remote git repo in Windows?

I want to be able to use Windows-based development tools (e.g. Winmerge, Eclipse, etc.) on a repo sitting on a remote Linux machine. With my current setup, I issue git commands in a shell via VNC, and therefore use the Linux-based tools -- kdiff3, gitk, gedit, etc. I do have access to all elements in the repo (source, .git/, etc.) via a Samba share. With this share -- mapped to a Windows network drive -- I work with whatever version my current git branch is pointing to.
Is there a Windows-based solution that works with a remote repo (say, over SSH) that allows me to execute the majority of my workflow (checkout, commit, diff, merge, etc.)?
Have you tried msysgit? Its a cygwin mingw based git client for Windows. I used it while I was using Windows and it works fairly well.
GitExtensions is a Windows GUI around msysgit, mentioned by Chaitanya. It has drawbacks but allows most Git operations to work in a graphical interface. I use it since I switched to Git.
You can use TortoiseGit to manage a clone of the repo right on your local machine. Your IDE should then be able to perform git operations directly on it. (Well, NetBeans can at least, I'm not an Eclipse user, so I'm not sure what git support it has built-in.)
MsysGit and the Git Gui are pretty effective from Windows. Start here
I have found that they do all the basics pretty well, and then I swap over to a git bash window [a git/unix version of a DOS cmd window, though more powerful] for the more specialist commands.
It has worked quite effectively and doesn't need any great expertise.

Resources