git for (collaborative) writing

59
Git for (collaborative) writing Arnaud Joly Systems and modeling Montefiore institute University of Liège November 25, 2013

Upload: arnaud-joly

Post on 27-Nov-2014

56 views

Category:

Software


4 download

DESCRIPTION

Git is an amazing source control version system for writing. It allows you keep track of the modification and collaborate with a large number of people. Platforms such as bitbucket or github make it straightforward to use.

TRANSCRIPT

Git for (collaborative) writing

Arnaud Joly

Systems and modelingMontefiore instituteUniversity of Liège

November 25, 2013

"Piled Higher and Deeper" by Jorge Cham: www.phdcomics.com

"Piled Higher and Deeper" by Jorge Cham: www.phdcomics.com

1. Version control with automatic conflict management2. Collaborative writing3. Trying out new things is easy with branches

By the way,I free and open source.I free online backup with GitHub or Bitbucket

1. Version control with automatic conflict management2. Collaborative writing3. Trying out new things is easy with branches

By the way,I free and open source.I free online backup with GitHub or Bitbucket

"Pro Git" by Scott Chacon Creative Commons 3.0

A story told through version control

Unique identifier Modification descriptioncommit 0 Add first readmecommit 1 Add .gitignore: ignore generated file by latexcommit 2 Add Makefile: latex buildcommit 3 Presentation startcommit 4 Ignore build directory and generated pdfcommit 5 Set a first outlinecommit 6 Add where to get help sectioncommit 7 Refine outlinecommit 8 3 stories for version control + sketch first story

. . .

Backward time travel!

Demonstration on this online repository: click here

Menu:I Show the sourcesI Show the time lineI Show a file diff

Version Control Introduction

Version Control Introduction

Version Control Introduction

Version Control Introduction

?

Version Control Introduction

Version Control Introduction

Version Control Introduction

Version Control Introduction

Version Control Introduction

Version Control Introduction

Version Control Introduction

version control!

Version Control Introduction

Version Control Introduction

Version Control Introduction

Version Control Introduction

Version Control Introduction

Version Control Introduction

Version Control Introduction

Version Control Introduction

Version Control Introduction

?

Version Control Introduction

Version Control Introduction

Version Control Introduction

Version Control Introduction

Version Control Introduction

Version Control Introduction

Version Control Introduction

Version Control Introduction

Version Control Introduction

!

Version Control Introduction

Version Control Introduction

Version Control Introduction

Demonstration with a collaborative paper on a repository:click here

Menu:I Show the time lineI Show the issue ticket

Case study : writing a syllabus

We would like1. to label important versions.2. to switch between different

versions.3. to merge two different

versions.

Tag a commit with a branchA branch is a pointer to a snapshot of the repository

Tag a commit with a branchA branch is a pointer to a snapshot of the repository

Tag a commit with a branchA branch is a pointer to a snapshot of the repository

Experiment with branches

Experiment with branches

Experiment with branches

Merge finished branchesConflicts are handled semi-automatically

Merge finished branchesConflicts are handled semi-automatically

Merge finished branchesConflicts are handled semi-automatically

Demonstration on a collaborative paper: click here

I Show a branch on bitbucket or Github: pull request systemsI Show the branch graph

is awesome.Try it!

Thanks for your attention!

is awesome.Try it!

Thanks for your attention!

Git for (collaborative) writing

Arnaud Joly

Systems and modelingMontefiore instituteUniversity of Liège

November 25, 2013

Appendix

Where to start learning Git ?

I In a terminal, try "git help".I A fast and interactive tutorial is Try Git.I The git reference is Pro Git (see chapter 2, 3 and 5).I Scipy development workflow is nice for software development.

References

I Scipy lecture note http://git-lectures.github.io/I "Pro Git" by Scott Chacon Creative Commons 3.0I Euroscipy on Git http://git-lectures.github.io/I Software carpentry for slides on collaborative writing.