git命令总结
1、git config
命令的作用是配置git的相关信息
- 设置用户名:
git config --global user.name "name"
- 设置用户邮箱:
git config --global user.email "eamil"
- 查看git所有配置信息:
git config --list
- 查看配置的用户名:
git config user.name
- 查看配置的用户邮箱:
git config user.email
2、git status
命令的作用是显示文件状态,红色表示工作目录的文件被修改但还没有提交到暂存区,绿色表示已经提交到暂存区。
- git status -s
3、git add
命令的作用是将文件从工作目录添加至暂存区
- 把所有修改的信息添加到暂存区:
git add .
4、git commit
命令的作用是将暂存区的修改提交到本地仓库,同时会生成一个commmit-id。
- 将暂存区的修改提交到本地仓库:
git commit -m "message"
,"message"是本次提交的简述内容,比如添加新功能或修复bug等
5、git pull
命令的作用是获取远程主机某个分支的更新,再与本地指定分支合并。git pull <远程主机名><远程分支名>:<本地分支名>
- 取回远程主机上的dev分支与本地的master分支合并:
git pull origin dev:master
- 取回远程主机上的dev分支与当前分支合并:
git pull origin dev
,该命令相当于以下两条命令:git fetch origin
:获取远程主机上所有分支的更新,也可以用git fetch origin dev
表示获取远程主机上dev分支的更新git merge origin/dev
:当前分支合并dev分支
注意:通过git fetch
所取回的更新,在本地主机上需要用“远程主机名/分支名”的形式读取,比如origin主机的master分支,就需要用origin/master
来读取。
6、git fetch
命令的作用是将远程主机上所有分支的更新取回本地,并记录在.git/FETCH_HEAD
中
- 获取远程主机上master分支的代码:
git fetch origin
- 在本地新建test分支,并将远程主机上master分支代码下载到本地test分支:
git fetch origin master:test
7、git push
命令的作用是将本地分支的更新推送到远程主机上
- 将本地
master
分支的更新推送到远程主机上:git push origin master
- 删除远程dev分支:
git push origin --delete dev
8、git branch
命令的作用主要是做分支管理操作
- 查看本地分支:
git branch
- 查看本地和远程分支:
git branch -a
- 新建名字为test的分支:
git branch test
- 将test分支名字改为dev:
git branch -m test dev
- 删除名字为dev的分支:
git branch -d dev
- 强制删除名字为dev的分支:
git branch -D dev
9、git checkout
命令最常用的情形是创建和切换分支以及撤销工作区的修改。
- 切换到tag为v1.0.0时对应的代码:
git checkout v1.0.0
- 在tag为v1.0.0的基础上创建分支名为test的分支:
git checkout -b test v1.0.0
。该命令相当于以下两条命令:git branch test v1.0.0
:在v1.0.0的基础上创建分支testgit checkout v1.0.0
:切换到分支test
10、git tag
命令主要是对项目标签进行管理。
- 查看已有的标签历史记录:
git tag
- 给当前最新的commit打上标签:
git tag <标签的定义>
- 给对应的commit id打上标签:
git tag <标签定义> <commit id>
- 删除tag: git tag -d tagname
- 本地tag推到线上:git push origin tagname
- 本地tag删除后再执行,删除origin的tag:git push origin :refs/tags/tagname
11、git log
命令的作用是查看历史提交记录
- 查看历史提交记录:
git log
- 将每条历史提交记录展示成一行:
git log --oneline
- 查看某个人的提交记录:
git log --author="name"
- 显示ASCII图形表示的分支合并历史:
git log --graph
- 显示前n条记录:
git log -n
- 显示某个日期之后的记录:
git log --after="2018-10-1"
,包含2018年10月1号的记录 - 显示某个日期之前的记录:
git log --before="2018-10-1
,包含2018年10月1号的记录 - 显示某两个日期之间的记录:
git log --after="2018-10-1" --before="2018-10-7"
12、git remote
命令的作用主要是管理远程仓库。
- 查看关联的远程仓库的名称:
git remote
- 查看关联的远程仓库的详细信息:
git remote -v
- 添加远程仓库的关联:
git remote add origin <远程仓库地址>
- 删除远程仓库的关联:
git remote remove <远程仓库名称>
- 修改远程仓库的关联:
git remote set-url origin <新的远程仓库地址>
- 更新远程仓库的分支:
git remote update origin --prune
13、git merge
命令的作用主要是分支的合并。
14、
- 如果当前是master分支,需要合并dev分支:
git merge dev
14、git clone
获取一个url对应的远程Git repo, 创建一个local copy
- 一般的格式是:git clone [url]
- 克隆指定分支:git clone -b branch_name url
- 克隆执行的tag:git clone --branch tag url
- 克隆最近一次的提交,而不是历史版本:git clone https://github.com/yoyogrape/RenminUniversityOfChina.git --depth 1
技能一:将本地新建的项目提交到远程仓库的步骤
- 初始化本地仓库
git init
- 将本地内容添加至git本地暂存区中
git add .
- 将暂存区添加至本地仓库中
git commit -m "first commit"
- 添加远程仓库路径
git remote add origin https://github.com/gybguohao/test.git
- 将本地内容push至远程仓库中
git push -u origin master