background preloader

Git

Facebook Twitter

A successful Git branching model » nvie.com. In this post I present the development model that I’ve introduced for some of my projects (both at work and private) about a year ago, and which has turned out to be very successful.

A successful Git branching model » nvie.com

I’ve been meaning to write about it for a while now, but I’ve never really found the time to do so thoroughly, until now. I won’t talk about any of the projects’ details, merely about the branching strategy and release management. It focuses around Git as the tool for the versioning of all of our source code. (By the way, if you’re interested in Git, our company GitPrime provides some awesome realtime data analytics on software engineering performance.) Why git? For a thorough discussion on the pros and cons of Git compared to centralized source code control systems, see the web. But with Git, these actions are extremely cheap and simple, and they are considered one of the core parts of your daily workflow, really.

Enough about the tools, let’s head onto the development model. Decentralized but centralized ¶ Git-flow cheatsheet. Git-cheat-sheet.pdf. Git-cheat-sheet.pdf. Explain Git with D3. We are going to skip instructing you on how to add your files for commit in this explanation.

Explain Git with D3

Let's assume you already know how to do that. If you don't, go read some other tutorials. Pretend that you already have your files staged for commit and enter git commit as many times as you like in the terminal box. git tag name will create a new tag named "name". Creating tags just creates a new tag pointing to the currently checked out commit. Tags can be deleted using the command git tag -d name (coming soon).

SmartGit - Git Client: Documentation. Welcome to GitGuys.com - The Git Experts. The Configuration File - "Branch" Section. Commands used in this section: git clonegit fetchgit merge The “branch” Section Of The Config File Let’s look at the config file for the git client that did the git clone in the Git Remotes Behind the Scenes: “Tracking Branches” and “Remote-Tracking Branches” section.

The Configuration File - "Branch" Section

After the git clone command is done, the contents of the .git/config file is created, as shown below: Documentation. Documentation Reference Reference Manual The official and comprehensive man pages that are included in the Git package itself.

Documentation

Quick reference guides: GitHub Cheat Sheet (PDF) | Visual Git Cheat Sheet (SVG | PNG) Book. SourceTree for Windows 1.5. By Kieran Senior on April 7, 2014 With SourceTree 1.4.0 for Windows released just a few weeks ago, we’re excited to announce that 1.5.0 is ready to go.

SourceTree for Windows 1.5

We’ve been steadily playing catchup with the Mac version and we’re happy to ship some highly requested features. Interactive rebase The interactive rebase feature is now available on SourceTree for Windows. Need to mess with your local commits before you go and push them? Subtree. Git Subtrees and Dependency Management - WANdisco Blog.

Component-based development has always seemed difficult to manage directly in Git.

Git Subtrees and Dependency Management - WANdisco Blog

Legacy systems like ClearCase UCM have the idea of formal baselines to manage the dependencies in a project, and of course Subversion uses externals to capture the same concept. By contrast, Git started life as a single-project repository system, and the submodule and subtree concepts seemed clunky and difficult to manage. A lot of software teams overcame that problem by deferring component manifests to build or CI systems. The latest incarnation of Git subtrees is significantly improved, however, and worth a second look for dependency management. Git step by step: Part 1 · GSoft-SharePoint/Dynamite Wiki. < Return to overview Github, SourceTree and gitflow.

Git step by step: Part 1 · GSoft-SharePoint/Dynamite Wiki

Alternatives To Git Submodule: Git Subtree. Update: I wrote a follow up article on the power of Git subtree The Internet is full of articles on why you should not use Git submodules.

Alternatives To Git Submodule: Git Subtree

I mostly agree, although I am not so harsh in my evaluation. As I explained in a previous post, submodules are useful for a few use cases but have several drawbacks. Are there alternatives? The answer is: yes! In this post I will be looking at git subtree and show why it is an improvement – albeit not perfect – over git submodule. Using Git subtrees to split a repository. We are in a position where we needed to create a new back-end server for an application.

Using Git subtrees to split a repository

The current application is on a MEAN stack (Mongodb, Expressjs, Angularjs, Node.js), but a new client wants the backend to be deployed onto a JBoss server. This created a situation where we needed a completely different backend, but the front-end was shared between them. Using pull requests - User Documentation. Pull requests let you tell others about changes you've pushed to a repository on GitHub.

Using pull requests - User Documentation

Once a pull request is sent, interested parties can review the set of changes, discuss potential modifications, and even push follow-up commits if necessary. This guide walks through the process of sending a hypothetical pull request and using the various code review and management tools to take the change to completion. Before you begin This guide assumes that you have a GitHub account, that you've forked an existing repository, and that you've pushed changes to your fork. For help with forking and pushing changes, see the Forking a Repo article. Initiating the pull request In the following example, Hubot has completed some work on a fork of the Octocat's Spoon-Knife repository, pushed a commit to a topic branch in his fork, and would like someone to review and merge.