仓库
- 当前目录新建一个代码库
git init
检出仓库 git clone
检出标签处的仓库 git clone --branch [tags标签] [git地址]
查看远程仓库 git remote -v
添加远程仓库 git remote add [name] [url]
删除远程仓库 git remote rm [name]
拉取远程仓库 git pull
添加指定文件到暂存区 git add
删除工作区和暂存区文件 git rm
停止追踪指定文件,保留该文件在工作区 git rm --cached
工作区与暂存区文件重命名 git mv
提交暂存区到仓库 git commit -m 'message'
提交时显示所有 diff 信息 git commit -v
替换上一次提交 git commit --amend -m [message]
推送到远程仓库 git push
信息查看与对比
- 查看提交日志
git log
查看指定文件的提交日志 git log -p [file]
以列表方式查看置顶文件的提交历史 git blame [file]
查看状态 git status
查看变更的内容 git diff
撤销
恢复暂存区的指定文件到工作区git checkout [file]
恢复某个 commit 的指定文件到工作区git checkout [commit] [file]
恢复上一个 commit 的所有文件到工作区git checkout .
重置暂存区的指定文件与上一次 commit 保持一致,工作区不变git reset [file]
重置暂存区与工作区,与上一次 commit 保持一致git reset --hard
重置当前分支的指针为指定 commit,同时重置暂存区,工作区不变git reset [commit]
重置当前分支的 HEAD 为指定 commit,同时重置暂存区和工作区,与指定 commit 一致git reset --hard [commit]
重置当前 HEAD 为指定 commit,但保持暂存区和工作区不变git reset --keep [commit]
撤销指定的提交git revert [commit]
分支
查看本地分支git branch
查看远程分支git branch -v
创建分支git branch [branch-name]
切换分支git checkout [branch-name]
创建并切换分支git checkout -b [branch-name]
删除分支git branch -d [branch-name]
合并分支git merge [branch-name]
标签
查看本地某个标签的详细信息:git show <tagName>
查看本地所有 tag:git tag 或者 git tag -l
查看远程所有 tag:git ls-remote --tags origin
创建标签git tag [tag-name]
创建带注释的标签git tag -a [tag-name] -m 'message'
删除标签git tag -d [tag-name]
-
git clone 指定分支:git clone -b 分支名称 项目地址
假设分支名称为test,则:
git clone -b test 项目地址
每一个 tag 就是代码仓库中的一个快照,如果你想编辑此tag 下的代码,需要把 tag 快照对应的代码拉取到一个分支上。
例如想编辑 v1.0的tag 代码,那么可以选择如下操作
git checkout -b new_branch v1.0
git checkout -b [分支名称] [tag标签名称]