background preloader

Git

Facebook Twitter

Git Attitude : formations Git qualitatives et sympathiques. Themes · robbyrussell/oh-my-zsh Wiki. All the current themes can be found in the themes/ directory in the oh-my-zsh distribution. See list here. In order to enable a theme, set ZSH_THEME to the name of the theme in your ~/.zshrc, before sourcing Oh My Zsh; for example: ZSH_THEME=robbyrussell If you do not want any theme enabled, just set ZSH_THEME to blank: ZSH_THEME="" Here is a collection of screenshots and descriptions of themes that have been contributed to Oh My Zsh. There are some missing from this page. If you want to add or edit descriptions, see the format description at the bottom of this page. The Themes robbyrussell the (default) that Robby uses The rest of the themes, in alphabetical order: af-magic afowler agnoster Official repository Shown with Solarized Dark colorscheme and Powerline-patched Meslo 14pt in iTerm 2.

Additional setup: alanpeabody amuse Shown in the screenshot with tmux and the powerline plugin (you might need to install one of the patched powerline fonts for it to look the same). arrow aussiegeek avit bira blinks. Focusing on a Team Workflow With Git. Git provides numerous benefits for the solo developer, but it also really shines when it comes to team collaboration.

Focusing on a Team Workflow With Git

The key to establishing a great team workflow with Git is communication. Git is versatile, flexible, and can accommodate a variety of usage patterns. Deciding the workflow “rules of the road” ahead of time will help eliminate friction and confusion, and allow a team to take advantage of what Git does best: boost productivity. GitHub Flow – Scott Chacon. August 31, 2011 Issues with git-flow I travel all over the place teaching Git to people and nearly every class and workshop I’ve done recently has asked me what I think about git-flow.

GitHub Flow – Scott Chacon

I always answer that I think that it’s great - it has taken a system (Git) that has a million possible workflows and documented a well tested, flexible workflow that works for lots of developers in a fairly straightforward manner. It has become something of a standard so that developers can move between projects or companies and be familiar with this standardized workflow. However, it does have its issues. One of the bigger issues for me is that it’s more complicated than I think most developers and development teams actually require. Both of these issues can be solved easily just by having a much more simplified process. Its simplicity gives it a number of advantages. GitBranchingForCD_RELENG2014 - releng2014_submission__2.pdf. Releng2014_submission__2.pdf. ◉ Recommendations on Branching. Project recommendations on how to organize branches.

◉ Recommendations on Branching

This document discusses organizing branches in your remote/origin for feature development and release management, not the use of local branches in Git or queues or bookmarks in Mercurial. This document is purely advisory. Phabricator works with a variety of branching strategies, and diverging from the recommendations in this document will not impact your ability to use it for code review and source management. Overview This document describes a branching strategy used by Facebook and Phabricator to develop software. Never put feature branches in the remote/origin/trunk.Control access to new features with runtime configuration, not branching. The next sections describe these points in more detail, explaining why you should consider abandoning feature branches and how to build runtime access controls for features.

Introducing Branch By Abstraction. Synopsis: Developers should branch by an abstraction as opposed to branching in Source Control (at least for some ‘we should create a branch’ situations).

Introducing Branch By Abstraction

A lesser-known source-control best practice I’ve been pushing for a number of years is “Branch by Abstraction”. It is not my invention, and has been best practice for many years, but how about it is given a name. The suggestion is that you can convene large sets of developers in a single trunk (Trunk Based Development) and avoid “short lived feature branches” that you have to merge back. The problem being with feature branches is that the current state of any one of them might be unable to be deployed for a number of weeks while the team gets it right.

Those branches just end up running and running …. There are some general provisos for the single as opposed to composite trunk design, that coincide with hard-core Agile development: You’ve broken your application into multiple components. Why Fork in the Enterprise? Enterprise DVCS Workflows are settling and patterns are consolidating.

Why Fork in the Enterprise?

The flexibility git gives teams is so broad that even within a single company different teams might use different approaches to code sharing and collaboration. I speak from hard evidence as this is exactly what happens at Atlassian. The Stash team works differently than the Confluence team which works differently from the JIRA team. They all share a similar Agile process but have different approaches to branching, Continuous Integration and team organization. Differences not withstanding, common patterns are emerging. Git Forks And Upstreams. There are tons and then some useful guides on how to keep your forks updated against the upstream repositories (and if you’re wondering why you would want to use forks in an enterprise setting, check out a few reasons here).

Git Forks And Upstreams

In this blog I will introduce you to few aspects of how forking interacts with upstream: the basics, the gotcha’s, and an cool tip. To top it off I will then make you very jealous, or very eager, the choice is yours. Interested? Read on. 365Git. Say you want to add a submodule to your repository, and this submodule is a one to which you have push access.

365Git

It is frequently useful to be able to publish a repository with the submodule URL as pull-only, while keeping the push-pull URL in your own repository. This way, you can make changes to the submodule repository from within the enclosing repository. This is a simple thing to do in Git once you know how submodules are arranged. Example For convenience, let’s use a a couple of GitHub repositories as an example. Cd tmp git clone -o github git@github.com:Abizern/Hello.git cd Hello (You may notice the unfamiliar -o github in the clone command. Now I’m in the repository I add the remote. If I use the Read+Write URLs, for the submodules, and someone else clones my repository, they will be using URLs to which they do not have access.

CommitMessage