background preloader

Git

Facebook Twitter

Working with Git on Windows   Setting up Git can be tricky on Windows compared to Linux or Mac, but if you follow the steps in this guide, you should have no problems using Git on Windows.

Working with Git on Windows  

We’ve done the hard work and chosen between the multiple options at key steps to help make things easier for you. This guide will take you through the steps to install and configure Git and connect it to remote repositories to clone, push, and pull. If you don’t have one already, create a Beanstalk account. Choosing a Git distribution. Vorwort. Git ist eine Art "Schweizer Taschenmesser" für Versionsverwaltung.

Vorwort

Ein zuverlässiges, vielseitiges Mehrzweck-Versionsverwaltungswerkzeug, dessen außergewöhnliche Flexibilität es schwierig zu erlernen macht, ganz zu schweigen davon, es zu meistern. Wie Arthur C. Clarke festgestellt hat, ist jede hinreichend fortschrittliche Technologie nicht von Magie zu unterscheiden. Das ist ein großartiger Ansatz, um an Git heranzugehen: Anfänger können seine inneren Mechanismen ignorieren und Git als ein Ding ansehen, dass mit seinen erstaunlichen Fähigkeiten Freunde verzückt und Gegner zur Weißglut bringt. Anstatt die Details aufzudecken, bieten wir grobe Anweisungen für die jeweiligen Funktionen. Ich bin erstaunt, dass so viele Leute an der Übersetzung dieser Seiten gearbeitet haben. 4_Mit%20Feature-Branches%20entwickeln. A successful Git branching model » nvie.com. Note of reflection (March 5, 2020)This model was conceived in 2010, now more than 10 years ago, and not very long after Git itself came into being.

A successful Git branching model » nvie.com

In those 10 years, git-flow (the branching model laid out in this article) has become hugely popular in many a software team to the point where people have started treating it like a standard of sorts — but unfortunately also as a dogma or panacea.During those 10 years, Git itself has taken the world by a storm, and the most popular type of software that is being developed with Git is shifting more towards web apps — at least in my filter bubble. Web apps are typically continuously delivered, not rolled back, and you don't have to support multiple versions of the software running in the wild.This is not the class of software that I had in mind when I wrote the blog post 10 years ago.

Why git? ¶ For a thorough discussion on the pros and cons of Git compared to centralized source code control systems, see the web. The main branches ¶ develop. Understanding the Git Workflow. If you don’t understand the motivation behind Git’s design, you’re in for a world of hurt.

Understanding the Git Workflow

With enough flags you can force Git to act the way you think it should instead of the way it wants to. But that’s like using a screwdriver like a hammer; it gets the job done, but it’s done poorly, takes longer, and damages the screwdriver. Consider how a common Git workflow falls apart. Create a branch off Master Work Merge it back to Master when done Most of the time this behaves as you expect because Master changed since you branched. Unfortunately, your feature branch contained checkpoint commits, frequent commits that back up your work but captures the code in an unstable state. So you add a new rule: “When you merge in your feature branch, use –no-ff to force a new commit.” Then one day you discover a critical bug in production, and you need to track down when it was introduced.

"Smart HTTP transport" für Git mit Redmine 2.1 « Raphael Kallensee. In einem früheren Artikel habe ich über die Installation von Redmine auf einem Server mit Ubuntu 10.04, Apache und Passenger geschrieben – dort wurde außerdem die Zugriffskontrolle auf Git-Repositories eingerichtet.

"Smart HTTP transport" für Git mit Redmine 2.1 « Raphael Kallensee

Die dort verwendete Methode des Zugriffs auf die Git-Repositories via HTTP ist allerdings wenig intelligent: denn hier greifen Clients einfach per WebDAV auf das Repository zu und übertragen Daten relativ uneffizient. Um die Kommunikation via HTTP zu verbessern, gibt es seit einigen Jahren die “Smart HTTP”-Unterstützung in Git, die – um es kurz zu machen – mit Hilfe eines CGI-Backends für eine deutlich effizientere Übertragung sorgt. Seit der Version 2.1.x unterstützt auch Redmine.pm, das Authentifizierungs-Modul von Redmine für Apache, die Authentifizierung von Requests über “Smart HTTP”, da diese nicht mehr per WebDAV, sondern nur noch mittels GET und POST funktionieren und Lese- und Schreibzugriffe anderweitig erkannt werden müssen.

Setup Git server with read/write HTTPS on Debian. Three months ago we decided to move our projects to Git.

Setup Git server with read/write HTTPS on Debian

I guess you already know the advantages of Git over Subversion, as there are too many discussions for this subject. How to setup git server over http. At the time of writing, git-http-push cannot remotely create a GIT repository.

How to setup git server over http

So we have to do that at the server side with git. Another option is to generate an empty bare repository at the client and copy it to the server with a WebDAV client (which is the only option if Git is not installed on the server). Create the directory under the DocumentRoot of the directories served by Apache. As an example we take /usr/local/apache2, but try "grep DocumentRoot /where/ever/httpd.conf" to find your root: