to clone a repository:
git clone my_git_address
list local branches:
git branch
list remote branches:
git branch --remote
Checkout and track a remote branch:
git checkout --track origin/xyz
Push a local branch to a new remote branch name
git push --set-upstream origin <remotebranchname>
delete local git branch
git branch -d <local name>
delete remote branch
git push origin --delete <remote/branch-name>
Sometimes you want to see what has changed. git status
can be used to see which files have changed since the last commit. Otherwise, you can use git diff
to more closely inspect file changes line by line
git status
git diff
git diff --color=always <commit hash> | less -r
Push a quick commit:
If you created a local branch and need to link it to a remote:
git push --set-upstream origin <localbranchname>
git add *
git commit -m "commit message"
git push
or combined:
git add * && git commit -m "update" && git push
git log
use this to find the commit hash for prior commits. you can use this to reset
reset to head
git reset
reset to specific commit
git reset <hash>
reset index to head and reset files
git reset --hard
interactive clean
git clean -i
force the removal of all untracked files
git clean -dxf
git restore <path/to/file>
restore all files of the type .c
git restore '*.c'
create
git submodule add <repo_address> <your/local/path>
from here
to pull submodules
git submodule update --init --recursive
git submodule update --recursive --remote
cd into the proper subdirectory ensure you are attached to a branch:
git branch
if not check one out
git checkout [branchname]
git fetch --all --tags
git checkout tags/<tag> -b <branch>
example
git checkout tags/Ubuntu-5.13.0-21.21 -b Ubuntu-5.13.0-21.21
echo “docs/lectures/lecture.html” » .gitignore
git rm --cached path/to/the/file
from here
git stash
git stash --include-untracked
git stash pop
git checkout master
git merge featureBranch
git clone path/to/my_repo.git cd my_repo git remote add upstream path/to/upstream_repo.git git fetch upstream
git pull upstream master or git rebase upstream/master
git push –force git push origin main
git remote add
https://docs.github.com/en/get-started/getting-started-with-git/managing-remote-repositories
git push –set-upstream
git branch –track