1.上传
git clone https://gitee.com/mangolinlin/note.git
2.新建代码库
git init
git init [project-name]
git clone [url]
3.配置
- git的设置文件.gitconfig,它可以在用户主目录下(全局配置),也可以在项目目录下(项目配置)。
- 显示当前的git配置
git config--list
git config -e [--global]
git config [--global] user.name "[name]"
git config [--global] user.email "[email address]"
4.增加/删除文件
git add [file1] [file2] [……]
git add [dir]
git add .
- 添加每一个变化前,都会要求确认
- 对于同一个文件的多处变化,可以实现分次提交
git add -p
git rm [file1] [file2] ……
git rm --cached [file]
git mv [file-origina] [file-renamed]
5.代码提交
git commit -m [message]
git commit [file1] [file2] …… -m [message]
- 提交工作区自上次commit之后的变化,直接到仓库区
git commit -a
git commit -v
- 使用一次新的commit,替代上一次提交
- 如果代码没有任何新变化,则用来改写上一次commit的提交信息
git commit --amend -m [message]
git commit --amend [file1] [file2] ……
6. 分支
git branch
git branch -r
git branch -a
git branch [branch-name]
git checkout -b [branch]
git branch [branch] [commit]
git branch--track [branch] [remote-branch]
git checkout [branch-name]
git checkout -
git branch--set-upstream [branch] [remote-branch]
git merge [branch]
git cherry-pick [commit]
git branch -d [branch-name]
git push origin --delete [branch-name]
git branch -dr [remote/branch]
7.标签
git tag
git tag [tag]
git tag [tag] [commit]
git tag -d [tag]
git push origin:refs/tags/[tagName]
git show [tag]
git push [remote] [tag]
git push [remote] --tags
git checkout -b [branch] [tag]
8.查看信息
git status
git log
- 显示commit历史,以及每次commit发生变更的文件
git log --stat
git log -S [keyword]
- 显示某个commit之后的所有变动,每个commit占据一行
git log [tag]HEAD --pretty=format:%s
- 显示某个commit之后的所有变动,其”提交说明“必须符合搜索条件
git log --follow [file]
git whatchanged [file]
git log -p [file]
git log -5 --pretty --oneline
git shortlog-sn
git blame [file]
git diff
git diff --cached [file]
git diff HEAD
git diff [first-branch]……[second-branch]
git diff --shortstat "@{0 day ago}"
git show [commit]
git show --name-only [commit]
git show [commit]:[filename]
git reflog
9.远程同步
git fetch [remote]
git remote -v
git remote show [remote]
git remote add [shortname] [url]
git pull [remote] [branch]
git push [remote] [branch]
git push [remote] --force
git push [remote] --all
10.撤销
git checkout [file]
git checkout [commit] [file]
git checkout .
- 重置暂存区的指定文件,与上一次commit保持一致,但工作区不变
git reset [file]
git reset --hard
- 重置当前分支的指针为指定commit,同时重置暂存区,但工作区不变
git reset [commit]
- 重置当前分支的HEAD为指定commit,同时重置暂存区和工作区,与指定commit一致
git reset --hard [commit]
- 重置当前HEAD为指定commit,但保持暂存区和工作区不变
git reset --kep [commit]
- 新建一个commit,用来撤销指定commit
- 后者的所有变化都将被前者抵消,并且应用到当前分支
git revert [commit]
git satsh
git stash pop
11.其他
git archive