git checkout -- file
git branch -r
git remote -v
git remote add
git push --set-upstream origin dev
git config --global user.name "xxx"
git config --global user.email xxx@163.com
git config --global http.sslverify false
删除远程分支
git push origin --delete git_branch
删除本地分支
git branch -D git_branch
git 下载指定分支/tag
git clone -b v1.2.0 --recursive xx.git
下载主分支再通过git checkout v1.2.0的问题是 sub module的代码不会更新。
git show tag 查看tag相关信息,包括commit_id
git branch -r --contains commit_id 查看commit_id所在分支
git pull upstream master
git子模块管理 Git中submodule的使用 - 知乎
git submodule update --init --recursive
git submodule更换url
patch
git format-patch HEAD^^ #
git format-patch -2 commit #包含commit及之前总共2个commit的patch
git format-patch old_commit..new_commit # (old_commit, new_commit]范围内的patch
git format-patch 3e2147bcbf3d9..HEAD # (old_commit, HEAD]范围patch
reset
git reset --hard dafc412
git checkout -- <file>..." to discard changes in working directory
git reset xx_file
git clone --depth=1
git status
git add -A
git push -f
git reset --soft "HEAD~1"
git commit -m "xx"
git remote add upstream xx.git
git fetch upstream
git checkout master
git rebase upstream/master
git merge upstream/master
git commit --allow-empty
git log --pretty=oneline
git rebase -i HEAD~2
git rebase -i commit_id # 把commit_id后面不包括commit_id的提交进行合并
git push -f
git log --pretty=oneline
git cherry-pick --abort
git cherry-pick x0..xn
git config --list
git config --global --unset http.proxy
git config --global --unset https.proxy
本地服务器
本地搭建git服务器_一墨的博客-CSDN博客_本地搭建git服务器
mkdir my.git
git init --bare my.git/
git clone /mnt/xx/codes/test1/my.git
或者git clone user@本机IP:/home/user/my.git