【Git】Git基础命令操作速记
文章目录
1. 初始化
1.1 设置用户名和邮箱
设置用户名命令及邮箱:
git config --global user.name "xxx"
git config --global user.email "xxx@xx.com"
查看用户名命令:
git config user.name
git config user.email
1.2 初始化仓库
初始化仓库:
git init
2. 基础命令
2.1 add和commit
在目录当中创建一个Demo.text文件,将他提交到暂存区中:
git add Demo.txt
将暂存区当中的文件添加到本地仓库:
git commit -m "第一次提交 Demo.txt" Demo.txt
- -m:m表示message,给本次提交添加备注信息
2.2 reset
reset命令:前进或者后退历史版本。
git reset --hard 索引
参数含义:
--hard
参数,本地仓库的指针移动的同时,重置暂存区和工作区。--mixed
参数,本地仓库的指针移动的同时,重置暂存区,但是工作区不动。-soft
参数,本地仓库的指针移动的同时,暂存区和工作区都不动。
2.3 查看日志
git reflog
2.4 删除/找回本地仓库文件
1)将文件从工作区删除。
2)将删除操作同步到暂存区中。
git add Test2.txt
3)将删除操作同步到本地仓库中。
git commit -m "删除Test2.txt" Test2.txt
4)查看日志,发现并没有将原来的添加操作删除,而是直接新增了一个“删除Test2.txt”信息。
5)找回本地仓库删除文件实际上就是将历史版本切换到存在这个文件的版本。
2.5 找回暂存区文件
此时状态就是工作区和暂存区的文件都删除了,但是本地仓库还有对应的该文件。此时我们想恢复暂存区当中的文件该怎么办?
1)将指针指向有该对应文件的版本(可以自己指向自己)
git reset --hard 索引
2.6 diff命令(找不同)
git是按照行为单位管理数据。
比较工作区和暂存区的不同。
//某个文件的不同
git diff 文件名
//多个文件的不同
git diff 文件名1 文件名2 ......
//所有文件的不同
git diff
比较本地仓库和暂存区的不同。
git diff 索引 文件名
3. 分支命令
3.1 查看分支
查看所有分支的信息:
git branch -v
3.2 创建分支
git branch branch01
3.3 切换分支
git checkout branch01
3.4 合并冲突
当我们有两个分支branch01和master时,branch01和master的版本不同,如果合并则会发生冲突,此时就需要我们想办法合并冲突。
1)制造冲突,合并branch01和master(切换到master分支上):
git merge branch01
2)查看Test1.txt文件的内容:
3)决定留下哪些内容:
4)将工作区内容添加到暂存区中:
5)将暂存区内容提交到本地仓库:
git commit -m "解决了冲突问题"
注意:这条命令不能加文件名,否则会报错。执行完成后就自动取消了合并状态。
4. 远程操作
4.1 创建远程仓库别名
查看别名:
git remote -v
起别名:
git remote add origin https://gitee.com/xxx/xxx.git
origin
表示远程仓库别名
4.2 push操作
git push origin master
origin
是远程库的别名master
是远程库的分支名,如果远程库不存在该库则会自动创建
4.3 clone操作
git clone url地址
克隆操作可以帮我们完成:
- 初始化本地仓库
- 将远程仓库内容完全克隆到本地
- 替我们创建远程仓库的别名
4.4 pull操作
pull操作相当于fetch操作 + merge操作。将远程库origin的master拉取过来。
git pull origin master
4.4.1 fetch操作
将远程库中的内容fetch到本地仓库的主分支当中。
git fetch origin master
在抓取操作执行后,只是将远程库的内容下载到本地,但是工作区中的文件并没有更新。工作区当中的内容不变。
4.4.2 merge操作
经过上一次的fetch操作之后,我们就可以进行合并/merge操作了。
git merge origin/master
4.5 协同开发冲突问题解决
- 当push操作发生冲突时,我们首先pull远程仓库代码到本地
- 在本地解决冲突
- 冲突解决后,操作从
3.4
第三步开始继续执行 - 最后push结果到远程仓库