background preloader

GitHub for Windows

GitHub for Windows

Git Source Control Provider Must Have Git Aliases: Advanced Examples - be present now Over the course of a few years I piled up a long list of git aliases. This post will assume you know what aliases are and you have defined a few for yourself. I rely on many of them dozens of times a day. And maybe some have slipped your radar. Maybe you've never thought you could do some of these useful things with an alias. Let me show you some of the cool things you can do. You can add all the examples below to the [alias] section of your .gitconfig. To acquire the full list of my aliases you can check out my .gitconfig on Github. Explore your history, the commits and the code Shorten and beautify your log command because you will use it a lot. List commits in short form, with colors and branch/tag annotations. And you can have it by adding this to your aliases section: ls = log --pretty=format:"%C(yellow)%h%Cred%d\\ %Creset%s%Cblue\\ [%cn]" --decorate List commits showing changed files is invoked with git ll and looks like this: And you can have it with this: With the line: dl = "! dr = "!

Git Git: Twelve Curated Tips And Workflows From The Trenches - be present now My Evernote tech-tips folder and my Notational Velocity stash have been collecting a huge list of git tips, many of which I have to look up again and again. Until I finally give up and create aliases for them (by the way you can find some of my more advanced git aliases explained in my previous post). I expect many git practitioners will find them useful as much as I do. Here we go, let's start from tiny and simple things first. Making 'git diff' wrap long lines This has been driving me mad for a while. If you use less as default pager just type -S while viewing the diff to reenable wrapping in less. You can also use git config to setup pager to wrap: $ git config core.pager 'less -r' Sets the pager setting for the current project. $ git config --global core.pager 'less -r' Sets the pager globally for all projects. Set a global proxy In some network configurations you might need to use a proxy with your git. git config --global https.proxy git log -Stext Done.

tortoisegit - Porting TortoiseSVN to TortoiseGit Git Version of TortoiseSVN. It is a port of TortoiseSVN for Git. TortoiseGit supports you by regular tasks, such as committing, showing logs, diffing two versions, creating branches and tags, creating patches and so on (see our Screenshots or documentation). You're welcome to contribute to this project (help on coding, documentation, Translation, testing preview releases or helping other users on the mailing lists is really appreciated). If you upgraded to TortoiseGit 1.8.8.0 and TortoisePLink reports "missing MSVCR110.dll", go to TortoiseGit settings, Network and select "TortoiseGitPLink.exe" as ssh client (which is located in the TortoiseGit\bin directory; issue #2156 ). There seems to be a bug in the MFC library, so please make sure you have the latest service pack installed. The latest and recommended release of TortoiseGit is: 1.8.8.0, see ReleaseNotes for details. Download TortoiseGit System prerequisites and installation howto Get a full list of screenshots. Context menu Commit Dialog

Git Tips And Workflows, Round 2: basics, stashes and submodules - be present now You'd think I fired all my bullets with my previous round of curated tips, but no, I have plenty more. The new year has just kicked off and I am happy to be back with more findings, shortcuts and workflows to enhance your git experience. I also humbly anticipate the optimizations and corrections that you guys will feed me back. I very much appreciate that. Before I dive in the next round let me also give you a second to open a tab for my older post on more advanced git aliases, if you haven't seen it already. Ready? Table Of Contents Find the root of the project Say your build script needs to know the root of your git repository. git rev-parse --show-toplevel Which results in: To automatically cd into it you can of course type: cd $(git rev-parse --show-toplevel) Delete a remote branch This used to be more obscure before git v1.7.0. git push origin --delete <branchName> Easy enough. Add all unknown files to a repository while honoring .gitignore git add '*' Or simply: git add -A Conclusion

Documentation Documentation Reference Reference Manual The official and comprehensive man pages that are included in the Git package itself. Quick reference guides: GitHub Cheat Sheet | Visual Git Cheat Sheet Book Pro Git The entire Pro Git book written by Scott Chacon and Ben Straub is available to read online for free. Videos See all videos → External Links The External Links section is a curated, ever-evolving collection of tutorials, books, videos, and other Git resources. Why aren't you using git-flow? If you need tagged and versioned releases, you can use git-flow’s release branches to start a new branch when you’re ready to deploy a new version to production. Like everything else in git-flow, you don’t have to use release branches if you don’t want to. Prefer to manually git merge --no-ff develop into master without tagging? $ git flow release start 0.1.0 Switched to a new branch 'release/0.1.0' Summary of actions: - A new branch 'release/0.1.0' was created, based on 'develop' - You are now on branch 'release/0.1.0' Follow-up actions: - Bump the version number now! Bump the version number and do everything that’s required to release your project in the release branch. $ git flow release finish 0.1.0 Switched to branch 'master' Merge made by the 'recursive' strategy. authentication.txt | 1 + 1 file changed, 1 insertion(+) create mode 100644 authentication.txt Deleted branch release/0.1.0 (was 1b26f7c).

Introducing GitHub For Windows For the past several months I’ve been working on a project with my amazing cohorts, Paul, Tim, and Adam, and Cameron at GitHub. I’ve had the joy of learning new technologies and digging deep into the inner workings of Git while lovingly crafting code. But today, is a good day. We’ve called the shipit squirrel into action once again! We all know that the stork delivers babies and the squirrel delivers software. In our case, we are shipping GitHub For Windows! gh4w-app If you’re not familiar with Git, it’s a distributed version control system created by Linus Torvalds and his merry Linux hacking crew. Better Git on Windows In recent history, this has started to change due to the heroic efforts of the MSysGit maintainers who’ve worked hard to provide a distribution of Git that works well on Windows. GitHub for Windows (or GH4W for short) builds on those efforts to provide a client to Git and GitHub that’s friendly, approachable, and inviting. Installation gh4w-default-shells Custom Shell

Related: