Name | Comments |
---|---|
git-scm | The best place (imho) to learn everything about Git (through reading) |
Interactive Git Branching Learning | Visual and interactive way to learn Git branching |
Learn git concepts, not commands | Article on Git concepts |
Codeacademy Learn Git | Not Free |
Git for Computer Scientists | |
shortcutfoo | interactive learning |
- Use a descriptive commit message
- Make each commit a logical unit
- Incorporate others' changes frequently
- Share your changes frequently
- Coordinate with your co-workers
- Don't commit generated files
- Clone a repository:
git clone https://github.com/bregman-arie/devops-resources.git
- Pull changes from remote repository:
git pull
- Pull changes without trying to merge the changes between the local branch and the remote one:
git pull --ff-only
- Switch to a branch called "main":
git checkout main
- Create (if doesn't exists) and switch to a branch called
devel
:git checkout -b devel
- List branches:
git branch
- Update based on status of remote branches:
git remote prune origin
- Delete local branch:
git branch -d some-branch
- What are the changes if merging branch y into x:
git merge-tree $(git merge-base x y) x y
- See what the current status in the repository:
git status
- Add changes to the staging area:
git add <FILE>
orgit add .
to add everything
- Create a commit:
git commit
- List of latest commits:
git log --oneline
- Push commits to the remote branch:
git push origin main
- Revert to commit X
git revert --no-commit X..HEAD
git commit
- All references in current repository:
find .git/refs/
- Update master reference:
git update-ref refs/heads/master <SOME_COMMIT>
- Create a new tag:
git tag -a "v0.0.1" -m "First release...yay