The most useful commands you will want to learn are
- clone
- status
- pull
- commit
- push
- gitk
- stash
- log
- checkout
% git clone ssh://antportal.com:22/var/lib/git/rndtaxcredit.git Cloning into rndtaxcredit... remote: Counting objects: 1571, done. remote: Compressing objects: 100% (1434/1434), done. remote: Total 1571 (delta 907), reused 196 (delta 88) Receiving objects: 100% (1571/1571), 4.59 MiB | 1.09 MiB/s, done. Resolving deltas: 100% (907/907), done.
Stashing when pull doesn't work
% git pull ...error: Your local changes to the following files would be overwritten by merge: webfront/app/views/Projects/index.html webfront/app/views/main.html Please, commit your changes or stash them before you can merge.
In those cases, you want to stash
% git stash Saved working directory and index state WIP on master: 11f6d51 merge changes HEAD is now at 11f6d51 merge changes
Then you pull...
rndtaxcredit/rndtaxcredit % git pull ... 5 files changed, 61 insertions(+), 69 deletions(-)
And finally you stash pop
% git stash pop .... Dropped refs/stash@{0} (865bf3eef6b7752cff098dbf3dd20b2ffebb02f7)
git checkout is useful for switching between branches. A best practice, in conjunction with working with an issue tracker such as jira, is to create branches for each issue.
git checkout -b i777
where, issue 777 would be the issue number for this issue. This enables a convenient coupling between the name of your branches and the issues you are working on. "git checkout -b some_branch" is equivalent to the two commands "git branch some_branch" and "git checkout some_branch"