(re-send: neglected to send to whole workgroup mailing list)

I'll send a couple emails on this subject.

The initial big git hurdle is terminology being so different from other SCM. E.g.,

index - the set of files git is tracking. If you create a new file, by default git is not tracking it. Until you "add it to the index" it is very easy to lose it.

sandbox - git doesn't use this term. The equivalent is a set of 4 things:
* your local repository
* commits - the deltas in your local repository: includes what you originally fetched/pulled plus any commits you have done to it
* any files that have been "added to the index" but not committed yet.
* any untracked files (that you haven't yet added to the index) - git requires you be careful about these.

commit - a purely local operation of taking all files that have changes and are being tracked (i.e., new files have been added to the index), and creating a change-set out of them. Does NOT interact with a central repository at all.

checkout - purely local operation which switches branches in your local repository - does NOT interact with a central anything. Simplest policy to stay out of trouble is to always add any new files to index and commit all outstanding changes before you do this.

fetch - get changes from central repository, but don't combine/merget/change what is in current 'sandbox' to include them yet. Safe to do this operation whenever.

pull - fetch plus merge the changes. We tend to avoid this and use fetch then rebase.

merge - locally merge changes. We tend to avoid this and use rebase.

rebase - a merge which replays your changes on top of another commit point (typically a master branch head), so as to make it look like all the changes were done in one linear sequence rather than by fork/join splitting and merging. This is often much easier to deal with than fork/join merging.

push - moves changes to another repository. Doesn't merge anything. (Must already have been merged locally.)


On Tue, Jan 29, 2013 at 10:46 AM, Tim Kimber <KIMBERT@uk.ibm.com> wrote:
http://stackoverflow.com/questions/3505409/does-there-exist-git-commit-policies-e-g-when-and-what-to-commit

http://git-scm.com/book/ch5-1.html

regards,

Tim Kimber, DFDL Team,
Hursley, UK
Internet:  kimbert@uk.ibm.com
Tel. 01962-816742  
Internal tel. 37246742

Unless stated otherwise above:
IBM United Kingdom Limited - Registered in England and Wales with number 741598.
Registered office: PO Box 41, North Harbour, Portsmouth, Hampshire PO6 3AU



--
Mike Beckerle | OGF DFDL Workgroup Co-Chair | Tresys Technology | www.tresys.com




--
Mike Beckerle | OGF DFDL Workgroup Co-Chair | Tresys Technology | www.tresys.com