git 版本控制
配置用户信息
1 2
| git config --global user.name "用户名" git config --global user.email "邮箱"
|
初始化本地仓库
在目标文件夹中使用命令
查看本地仓库的状态
三大区域
- 工作区:仓库所在文件夹,保存文件的地方
- 暂存区:版本库中暂存
- 分支所在区:HEAD 指向的分支
四种状态
- modified:文件有修改,但是还没有暂存
- untracked:新建的文件,还没有被 git 管理控制住
- staged:文件被暂存,还没有提交
- unmodified:文件被提交
提交
从工作区提交到暂存区
基本用法
一次性暂存工作区所有有修改的文件
暂存指定目录下所有有修改的文件
从暂存区提交到 master 分支
跳过暂存,直接提交(untracked 除外)
1
| git commit -a -m "提交的信息"
|
查看提交信息
详细信息
简要信息
1
| git log --pretty=oneline
|
取消修改
取消工作区的修改
文件被修改后还没有执行 git add 命令,执行
取消暂存区的修改
文件被修改后执行了 git add 命令,但是还没有执行 git commit 命令,先撤销 git add 命令
再撤销工作区的修改
取消分支上的修改
- 文件被修改后执行了 git add 和 git commit 命令(已经提交了)
- 无法取消修改,使用版本回退
- 首先先使用 git log 查看每次提交的 id,然后确定需要回退到哪个版本,再使用
分支
- HEAD 实现版本的控制
- git 在将每一次的提交串成一条时间线,这条时间线就称为分支
- 默认只有一条分支,master,也称之为主分支,而 HEAD 指向的就是当前分支
创建分支
将当前所在分支复制出来一条新的分支
查看当前仓库有哪些分支
切换分支(在一条分支上的修改不会影响到其他分支上的内容)
分支的合并(将指定名称上分支的修改合并到当前分支上)
分支的删除(删除指定分支)
如果分支没有合并,则删除失败,可以强制删除
注:不能删除当前所在分支
远程关联
添加远程管理
1
| git remote add origin 远程仓库地址
|
将本地仓库的内容推送到远程仓库
1
| git push -u origin master
|
注:-u 第一次推送时添加,之后就不需要了;如果没有 master 分支就创建
查看当前仓库有哪些远程关联
删除已经存在的远程关联
拉取
该命令会将指定远程仓库完整克隆下来,包括历史提交信息,而且还会自动添加远程关联
将远程仓库上的 master 分支上的修改拉取下来
拉取指定远程仓库的指定分支