赞
踩
目录
填入远程仓库地址,目标路径(本地存放路径),点击克隆。
git是分布式版本控制工具,存在着本地仓库和远程仓库,所以我们需要在本地工作副本中编辑,然后提交到本地仓库,最后推送到远程仓库。
提交到本地仓库,再推送到远程仓库
推送完成后,可以看到最新的版本里显示了master 和 origin/master,这表明本地master分支和远程master分支是同步的,在一个节点上。
获取和拉取。获取是从远程仓库获取信息并同步至本地仓库,拉取是从远程仓库获取信息并同步至本地仓库,并且自动执行合并(merge)操作,即 pull=fetch+merge。
获取后的结果
把远端master分支更新的提交同步到本地仓库
拉取后的结果
在实际工作中,我们只需要使用拉取,来更新远端仓库分支到本地分支就行
在工作中,我们新增一个功能需新增一个分支,这是为了保证原有的功能能正常使用,新增的功能不会影响原有功能的分支,等新增的功能测试通过后,我们只需把新增的分支合并到master分支上,然后上线。
新增一个develop分支
点击创建分支,可以看到多了一个develop分支,但是这个分支只存在于本地仓库。可以看到最新的日志记录节点上只有master , origin/master,develop,所以这个新分支是没有推送到远程仓库的。
然后点击推送到远端分支
将develop分支合并到master分支,先切换到master分支,将develop分支合并到master分支,最后推送到远程master分支
产生冲突的两种原因:
拉取时出现冲突
我们可以打开vscode解决冲突
合并冲突后提交并推送
有时候我们提交了代码,但后悔了,需要回滚,那么我们可以使用撤销回滚操作。
注意:撤销回滚只能撤销回滚最近的一次提交,并不能回滚到历史某个提交
可以看到提交历史记录多了一个Revert 反向提交
例子:比如我们在master中回滚一次提交,回滚的提交里有func1功能,下次我们在develop分支中增加func4功能,这时develop分支是有func1功能的,再次将develop分支合并到master分支,这是master是不会自动把func1功能再次合并,那么我们这是就需要将master分支那次的回滚提交找出来,点击回滚提交,重新添加func1到master分支上。
master分支回滚了func1的功能代码
develop的func1功能代码还是存在,这时添加了func4功能代码,并合并到master分支
这时master只会合并func4的代码,之前回滚的func1代码并不会再次合并
解决:
找到之前回滚func1功能的记录
然后点击回滚提交,就可以了
撤销回滚只能撤销回滚最新的提交记录,并不能回滚到某个历史版本。注意:回退指的是内容的回退,而不是提交记录的回退
如果我们想回退到这个提交
右键重置当前分支到此次提交, 使用模式选择 强行合并--丢弃所有改动过的工作副本,点击确定
对比本地仓库和远程仓库,红圈节点上面的两个提交
再次右键点击最新的提交历史记录,重置当前分支到此次提交,选择软合并
查看文件状态,可以看到修改的文件已经删除了回退版本之后提交的代码
然后点提交推送
注意:回退是不会删除回退版本之后的提交记录的,只是回退了内容。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。