1. 新建仓库
在一个空目录下输入 git init
2. 添加,恢复
2.1 添加一个新文件到缓存区
git add readme.txt 表示把文件readme.txt添加到缓冲区
2.2 清空本地所有修改
git reset --hard
3. 正式提交
git commit -m "添加了 readme 文件" 相当于svn的提交注释
举例: 如果想同时添加多个文件,可以这样
git add file1.txt
git add file2.txt file3.txt
git commit -m "添加了3个文件"
4. 日志有关
4.1 显示从最近到最远的提交日志,注意:这个命令不显示已经被回退的版本和命令
git log
4.2 查看简单日志,只显示一行
git log --pretty=oneline
4.3 查看日志(仅显示文件位置和名字)
git log --stat
4.4 查看日志(仅显示最近3次的)
git log -3
4.5 查看所有日志,包括回退的
git reflog
4.6 查看杨兆丰最近提交的5次日志
git log --stat -5 --author=杨兆丰
4.7 查看指定名字文件的所有日志
git log match/core/core.go
4.8 查看指定名字文件的所有日志(只显示一行)
git log --pretty=oneline match/core/core.go
总结1:查看日志(仅显示文件名字,最近3次的) : git log --stat -3
总结2:查看日志(仅显示一行,仅显示提交注释) : git log --pretty=oneline --abbrev-commit
4.9 查看最新一次的修改内容,只看文件名字
git diff HEAD HEAD^ --stat
4.10 查看指定版本的修改内容,只看文件名字,不看具体修改
git show 版本号 例如:git show a5ffc07a
4.11 查看指定版本指定文件的修改(git show 版本号 带路径的文件名)
git show 0a3f50712 matc/core/core.go
5. 回退有关
5.1 把当前版本回退到上一个版本
git reset --hard HEAD^
总结:用HEAD表示当前版本,
用HEAD^表示上一个版本
用HEAD^^表示上上一个版本
用HEAD~100表示上100个版本
5.2 回退到指定版本
git reset --hard 1094a 版本号没必要写全,前几位就可以了,只要该版本号唯一,git就能找到
5.3 git add 文件后撤销该文件,也就是把暂存区里面的文件撤销成modify状态的
例如 git add my.proto 即把文件 my.proto 添加到暂存区,此时要撤销该操作
只需 git reset my.proto
6. 查看状态
git status
相当于svn的commmit,可以查看哪些文件修改,哪些文件添加,哪些文件删除,哪些文件在缓冲区
7. 把指定文件更新到最新,和HEAD版本一致
git checkout -- readme.txt
8. 分支有关
8.1 创建分支
git branch 分支名
8.2 切换到分支
git checkout 分支名
8.3 创建分支feature/losewarm,并切换过去
git checkout -b feature/losewarm
8.4 把本地新创建的分支 feature/losewarm推送到远程
git push origin feature/losewarm:feature/losewarm
8.5 把本地的分支feature/phpsettle和远程的分支feature/phpsettle进行关联
git branch --set-upstream-to=origin/feature/losewarm feature/losewarm
8.6 拉取所有的分支和tag
git fetch
8.7 查看当前代码的所属分支
git branch -l
8.8 拉取所有的分支和tag
git fetch
8.9 删除一个分支
git branch -d <branch_name>
8.10 根据tag新建一个分支
git checkout -B hotfix_welfare 1.0.7.1
8.11 查看本地的所有分支
git branch
8.12 查看所有分支(包括本地和远端)
git branch -a
9. tag有关
9.1 查看所有的标签
git tag
9.2 在某个commit上打个tag
git tag dev_0.2.13 c809ddbf8
9.3 在最新提交上打tag
git tag dev_0.2.13
9.4 把本地新打的tag推送到线上的develop分支
git push origin develop dev_0.2.13
9.5 本地删除tag
git tag -d dev_0.2.13
9.6 本地tag删除后再删除线上的本tag
git push origin :refs/tags/dev_0.2.13
9.7 列出dev_0.2.*系列的所有tag
git tag -l 'dev_0.2.*'
9.8 查看两个tag之间的所有提交
git log --oneline dev_0.2.1..dev_0.2.2
9.9 清空本地tag,再拉取远程仓库的tag
git tag -l | xargs git tag -d
git fetch -t -p
git报错
1. 输入命令:git pull
报错如下:fatal: unable to access 'http://gitlab.fz.stevegame.red/back-end/steve/': The requested URL returned error: 502
原因: 是开启了代理
办法: 关闭终端的代理