Git基础知识

拉取和推送项目

1.克隆远程项目到本地

创建一个目录存放版本库,打开git工具git Bash

git clone 地址

2.修改并提交到本地仓库

git status 查看修改了什么
git add [被修改的文件] 将被修改的文件加入
git commit 将文件提交到本地版本库

3.推送到远程仓库

git remote [选项 v] 设置或读取与远程仓库相关的东西 可以查看远程仓库地址
git push 推送到远程仓库

从版本库中恢复文件

git log 查看日志
git checkout 检出

三种情况:
1.已删除或修改文件,未add

git checkout [文件路径] 表示从暂存区恢复到工作区

2.已删除或修改文件,已add,未commit

git checkout [文件路径] 表示从某个commit状态中恢复到工作区

在这里插入图片描述
通过git log 查看日志可以看到

3.已删除或修改文件,已add,已commit
在这里插入图片描述
也是使用下面的命令,想恢复到第几次就使用第几次的commitid

git checkout [文件路径] 表示从某个commit状态中恢复到工作区

在这里插入图片描述

四个工作区域

1、Workspace: 工作区,就是你平时存放项目代码的地方

2、Index / Stage: 暂存区,用于临时存放你的改动,事实上它只是一个文件,保存即将提交到文件列表信息

3、Repository: 仓库区(或版本库),就是安全存放数据的位置,这里面有你提交到所有版本的数据。其中HEAD指向最新放入仓库的版本

4、Remote: 远程仓库,托管代码的服务器,可以简单的认为是你项目组中的一台电脑用于远程数据交换

文件的四种状态

1、Untracked: 未跟踪, 此文件在文件夹中, 但并没有加入到git库, 不参与版本控制. 通过git add 状态变为Staged.

2、Unmodify: 文件已经入库, 未修改, 即版本库中的文件快照内容与文件夹中完全一致. 这种类型的文件有两种去处, 如果它被修改, 而变为Modified.如果使用git rm移出版本库, 则成为Untracked文件

3、Modified: 文件已修改, 仅仅是修改, 并没有进行其他的操作. 这个文件也有两个去处, 通过git add可进入暂存staged状态, 使用git checkout 则丢弃修改过, 返回到unmodify状态, 这个git heckout即从库中取出文件, 覆盖当前修改

4、Staged: 暂存状态. 执行git commit则将修改同步到库中, 这时库中的文件和本地文件又变为一致, 文件为Unmodify状态. 执行git reset HEAD filename取消暂存,文件状态为Modified

版本库中的分支管理

查看分支:git branch

创建分支:git branch

切换分支:git checkout

创建+切换分支:git checkout -b

合并某分支到当前分支:git merge

删除分支:git breach -d

在这里插入图片描述

冲突的发生与解决

1.能自动合并的冲突

在这里插入图片描述
在合并之前 要先拉取远程仓库到本地,更新本地仓库,确保提交前本地仓库的内容小于远程仓库。

2.手动解决冲突

当同一个文件被两个分支都修改过,想要合并两个分支就会产生冲突,不能快速将dev合并到master上。并且git会提醒“合并过程中产生了冲突,请修正后再提交”。
修正的过程:
1.将两个分支的文件,进行对比修改,满足两个分支的提交。
2.使用 git add 和git commit 进行一次新的提交。(此时提交的是master分支)
3.再次合并

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值