1、新建代码库
git init
git init [project-name]
2、配置Git设置
git config --list
git config -l
// 查询单独参数
git config --global user.name
//增
git config --global --add user.name jianan
//删
git config --global --unset user.name
//改
git config --global user.name jianan
3、增删文件
git add [file1][file2]
git add [dir]
git add .
git add -p
git rm [file1][file2]
git rm --cached [file]
git mv [原文件名] [新文件名]
4、代码提交
git commit -m [message]
git commit [file1][file2] ... -m [message]
git commit -a
git commit -v
5、分支
git branch
git branch -r
git branch -a
git branch [branch-name]
git checkout -b [branch-name]
git branch [branch-name] [commit]
git branch --track [branch-name] [指定远程分支]
git checkout [branch-name]
git checkout -
git branch --set-upstream [branch-name] [指定远程分布]
git merge [branch-name]
git cherry-pick [commit]
git branch -d [branch-name]
git push 远程库 --delete [branch-name]
git branch -dr [远程分支]
6、标签
git tag
git tag [tag-name]
git tag [tag-name] [commit]
git tag -d [tag-name]
git push origin :refs/tags/[tag-name]
git show [tag-name]
git push [remote] [tag-name]
git push [remote] -tags
git checkout -b [branch-name] [tag-name]
7、查看信息
git status
git log
- 显示commit历史,以及每次commit发生变更的文件
git log --stat
git log -S [关键词]
- 显示某个commit之后的所有变动,每个commit占据一行
git log --pretty=oneline
git log -p [filename]
git log -5 --pretty=oneline
git shortlog -sn
git blame [file]
git diff
git diff HEAD
git show [commit]
git reflog
8、远程同步
git fetch [remote]
git remote -v
git remote show [remote]
git remote add [name] [url]
git pull [remote] [branch-name]
git push [remote] [branch-name]
git push [remote] -force
git push [remote] --all
9、撤销
git checkout [filename]
git checkout [commit] [filename]
git checkout .
- 重置暂存区的指定文件,与上次commit保持一致,但工作区不变
git reset [filename]
git reset --hard
- 重置当前分支的HEAD为指定commit,同时重置暂存区和工作区,与指定commit一致
git reset [commit]
- 重置当前HEAD为指定commit,但保持暂存区和工作区不变
git reset --hard [commit]
- 新建一个commit,用来撤销指定commit,后者所有变化都被前者抵消,并且应用到当前分支
git revert [commit]
git stash
git stash pop