Git学习笔记3

这篇具有很好参考价值的文章主要介绍了Git学习笔记3。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

Git分支管理:

先来考虑一个问题: 开发者A开发软件的某一个功能模块, 还没有开发完成,但害怕进度丢失就提交。假设另一位开发者B并不知道A没有完成, 而直接使用了A开发的文件,这造成了问题。

解决方法: 开发者A创建一个属于自己的分支,这个分支只属于A,不会影响其他人。开发完成后,合并到项目主分支即可。

分支可以看做是平行空间:

Git学习笔记3,Git,git

查看分支:

默认只有一个分支,前面*代表为当前分支。

查看分支:

Git学习笔记3,Git,git

创建分支:

[root@git-server GitTest]# git branch dev
[root@git-server GitTest]#
[root@git-server GitTest]# git branch
  dev
* master

切换分支:

使用 git checkout 分支名 来切换分支。

[root@git-server GitTest]# git checkout dev
Switched to branch 'dev'
[root@git-server GitTest]#
[root@git-server GitTest]# git branch
* dev
  master

合并分支:

1)在dev分支上新开发了一个代码文件,添加并提交。


[root@git-server GitTest]# echo "New feature" >> 5.py
[root@git-server GitTest]#
[root@git-server GitTest]# git add 5.py
[root@git-server GitTest]#
[root@git-server GitTest]# git commit -m "New feature 5.py"
[dev 51b959c] New feature 5.py
 1 file changed, 1 insertion(+)
 create mode 100644 5.py
[root@git-server GitTest]#
[root@git-server GitTest]# git checkout master
Switched to branch 'master'
[root@git-server GitTest]#
[root@git-server GitTest]# cat 5.py
cat: 5.py: No such file or directory

切换到master分支,没有找到5.py。

2)合并分支,再查看,就能在master分支上查看到了。

[root@git-server GitTest]# git merge dev
Updating 8153d25..51b959c
Fast-forward
 5.py | 1 +
 1 file changed, 1 insertion(+)
 create mode 100644 5.py
[root@git-server GitTest]# cat 5.py
New feature

分支冲突:

有些复杂的情况会造成冲突,这个时候git就不能帮我们自动的合并分支。我们就要手动处理冲突。

1)在dev上修改文件:

[root@git-server GitTest]# git checkout dev
Switched to branch 'dev'
[root@git-server GitTest]# echo "冲突测试" >> 5.py
[root@git-server GitTest]#
[root@git-server GitTest]# cat 5.py
New feature
冲突测试

2)提交分支上的修改:

[root@git-server GitTest]# git add 5.py
[root@git-server GitTest]# git commit -m "冲突测试"
[dev 844bd61] 冲突测试
 1 file changed, 1 insertion(+)

 

3)切换master分支,也修改相同的文件:

[root@git-server GitTest]# git checkout master
Switched to branch 'master'
[root@git-server GitTest]#
[root@git-server GitTest]# echo "哈哈" >> 5.py
[root@git-server GitTest]#
[root@git-server GitTest]# cat 5.py
New feature
哈哈

4)然后提交master分支上的修改:

[root@git-server GitTest]# git add 5.py
[root@git-server GitTest]# git commit -m "冲突测试"
[master 4721701] 冲突测试
 1 file changed, 1 insertion(+)

5)合并dev分支到master,就会出现冲突了。

[root@git-server GitTest]# git merge dev
Auto-merging 5.py
CONFLICT (content): Merge conflict in 5.py
Automatic merge failed; fix conflicts and then commit the result.

6)手工解决冲突:

git使用<<<<<<<<<,=========,>>>>>>>>符号分割冲突的内容,手动删除这些符号,并修改成你想要的内容。

[root@git-server GitTest]# cat 5.py
New feature
<<<<<<< HEAD
哈哈
=======
冲突测试
>>>>>>> dev
[root@git-server GitTest]# vim 5.py
[root@git-server GitTest]#
[root@git-server GitTest]# cat 5.py
New feature
冲突测试

7)解决冲突后添加并提交,最后再合并。

[root@git-server GitTest]# git add 5.py
[root@git-server GitTest]# git commit -m  "冲突解决"
[master b956e9d] 冲突解决
[root@git-server GitTest]#
[root@git-server GitTest]# git merge dev
Already up-to-date.

删除分支:

使用git branch -d 分支名来删除分支。==注意:== 不能删除当前使用的分支.

[root@git-server GitTest]# git branch
  dev
* master
[root@git-server GitTest]#
[root@git-server GitTest]# git branch -d dev
Deleted branch dev (was 844bd61).
[root@git-server GitTest]#
[root@git-server GitTest]# git branch
* master

感觉这样学下来,思路还是很清楚的。

之前自己看书操作,总感觉有点乱。这样整理了,思路也是很明确的。文章来源地址https://www.toymoban.com/news/detail-731063.html

到了这里,关于Git学习笔记3的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Learn Git Branching 学习笔记(Git远程仓库篇)

    目录 一、Git远程仓库篇 1.git clone 在本地创建一个远程仓库的拷贝        2.远程分支 3.git fetch 4.git pull      5.模拟团队合作 6.git push 7.远程库提交历史的偏离     8.远程服务器拒绝!(Remote Rejected) Git的高级话题集合在上一篇文章中Learn Git Branching 学习笔记(高级话题篇)_流年

    2024年02月13日
    浏览(41)
  • Git学习笔记3

    Git分支管理: 先来考虑一个问题: 开发者A开发软件的某一个功能模块, 还没有开发完成,但害怕进度丢失就提交。假设另一位开发者B并不知道A没有完成, 而直接使用了A开发的文件,这造成了问题。 解决方法: 开发者A创建一个属于自己的分支,这个分支只属于A,不会影响其他

    2024年02月07日
    浏览(22)
  • Git学习笔记4

    GitHub是目前最火的开源项目代码托管平台。它是基于web的Git仓库,提供公有仓库和私有仓库,但私有仓库是需要付费的。 到Github上找类似的项目软件。 GitLab可以创建免费的私有仓库。 GitLab是利用 Ruby开发的一个 开源的版本管理系统, 实现一个自托管的Git项目仓库,可通过

    2024年02月07日
    浏览(27)
  • 学习笔记-Git

    在commit和push的时候因为网络太慢了中途强行关闭了进程,而push的内容因为文件过大导致无法正常push 按照原本的流程在push的时候会提示失败,并且需要在解决了大文件之后重新push 而因为中途中断了,git缓存中已经记录了该文件的信息 进而导致在下一次push的时候即使已经处

    2024年02月22日
    浏览(23)
  • Git 学习笔记

    版本控制 解决如何管理和保留历史操作版本和操作记录。 文件复制: 本地管理:无法与其他人协作。 集中式管理:只有中心服务器保存所有版本信息,如果中心服务器挂了或连接断了就寄了, 例如SVN软件。 分布式管理:本地和中心都有。 1、进入要管理的目录 2、 git ini

    2024年02月02日
    浏览(25)
  • Git 类 学习笔记

    分布式版本控制系统 git config--global user.name 用户名 (设置用户签名) git config --global user.email 邮箱(设置用户签名) git init (初始化本地库) git status (查看本地库状态) git add 文件名 (添加到暂存区) git commit -m \\\"日志信息\\\" 文件名 (提交到本地库) git reflog (查看历史记录

    2023年04月08日
    浏览(17)
  • Git && Docker 学习笔记

    注意:该文章摘抄之百度,仅当做学习笔记供小白使用,若侵权请联系删除! 目录 列举工作中常用的几个git命令? 提交时发生冲突,你能解释冲突是如何产生的吗?你是如何解决的? git的4个区域及转换 如果代码出现bug,你们是如何解决的? git rebase的作用? 列举工作中常用的

    2024年01月23日
    浏览(30)
  • 学习笔记(四):git

    又来了!主要还是自己太菜了,什么都需要记录一下。本次内容主要是git和gitea的安装使用。 1、下载官网:Git - Downloads (git-scm.com)  2、找到已下载的安装包文件,点击安装    3、安装就默认下一步即可,在安装目录选择中可根据个人偏好修改,以下是安装完成的几个标志  

    2024年02月03日
    浏览(27)
  • git深入学习笔记

    当初始化仓库的时候,会创建一个.git文件夹,其中包含以下内容: hooks 文件夹 (包含客户端服务端的钩子脚本,如pre-push,pre-merge) info 文件夹 (包含一个全局性排除文件) object 文件夹 (存储所有数据内容) refs 文件夹 (存储指向分支的提交对象的指针) config 文件 (包

    2024年01月21日
    浏览(30)
  • git学习使用笔记

    一、git组成结构图 工作空间:用来保存项目的元数据和对象数据库的地方。 这是 Git 中最重要的部分,从其它计算机克隆仓库时,拷贝的就是这里的数据。 本地索引:保存了下次将提交的文件列表信息,一般在 Git 仓库目录中。有时候也被称作“索引”,不过一般说法还是叫

    2024年02月11日
    浏览(56)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包