git详细介绍

初始仓库

git init

初始化完成会提示initialized empty Git respository





提交代码

[git add 文件名]
[git commit -m 提交信息]

提交的文件名必须在你初始化的git仓库中存在,如果不存在会提示not match any files





上图说明没有1.js文件,需要新建一个1.js文件再提交





第一次提交会默认提交到master分支上,在没有提交之前是没有master分支的。

接下了要了解一下我们提交代码要经历哪些过程:

  1. 没有通过[git add 文件名]提交的文件在工作区

  2. 执行了[git add 文件名]但没有通过[git commit -m 提交信息]提交的文件在暂存区

  3. 执行完了[git commit -m 提交信息]提交的的文件在历史区

三个地方都有代码,如果某次修改了文件,还可以回退到上一次提交的版本。

回退版本

之前操作是建立了一个空的1.js 文件并提交到了master分支上,现在在该文件中写入var a = 1; 的代码。如果要返回我之前那次空文件的状态,可以执行[git checkout 文件名]命令。如果你已经执行了[git add 文件名]的操作,可以执行[git checkout 版本号 文件名]。 如果你已经执行了了[git add 文件名]和[git commmit -m 提交信息],也可以执行[git checkout 版本号 文件名]来回退到之前的版本。

关于如何查看版本号只要输入git log即可。



在暂存区回退代码(也就是该文件执行了[git add 文件名]的操作)







在历史区回退代码(也就是该文件执行了[git add 文件名]和[git commmit -m 提交信息]的操作)





解决冲突

代码冲突大多是建立了多个分支,如果代码合并的时候有冲突要自己手动解决。

通过[git branch 分支名]创建分支



现在我通过[git branch dev1]创键了dev1分支,再通过[git branch dev2]创建了dev2分支,这两个分支都是基于master分支创建的,所以现在dev1和dev2会有master分支的所以代码。接下来就是分别切换到到各自的分支上工作。



通过[git checkout 分支名] 切换分支

我通过[git branch dev1]切换到dev1分支,在1.js写入代码var a = 1; 然后提交代码通过[git add dev1]和[git commit -m 在dev1]提交



我通过[git branch dev2]切换到dev2分支,在1.js写入代码var b = 1; 然后提交代码通过[git add dev2]和[git commit -m 在dev2提交]







现在切换回来mater分支,因为刚才是基于master分支创建,master是主分支,在主分支中合并。

通过[git merge 分支名]合并分支



我通过[git merge dev1]合并了分支dev1会提示Fast-forward





我通过[git merge dev2]合并分支dev2会提示CONFLICT,出现冲突了。



打开1.js文件解决冲突,出现如图提示



选择性删除代码,留下需要的代码



解决冲突后需要从新提交代码即可。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值