Git入门笔记

Git和GitHub

  • Git:目前世界上最先进的分布式版本控制系统
  • GitHub:用Git做版本控制的代码托管平台

  • 集中式:依赖于某个中心,如果中心服务器瘫痪,则整体网络不能使用
    分布式:去中心,不依赖中心,每个结点都可以独立使用git
  • 版本控制:
    1.追踪文件的变更,什么人在什么时间改了什么内容都会记录下来
    2.在多人协同做项目的时候,版本控制可以有效地解决版本的同步以及不同开发者之间的开发通信问题,提高协同开发的效率。
  • Git相关概念
    工作区:没有被add的文件
    暂存区:已经被add过的文件
    分支:已经被commit过的文件

Git的基本配置(Windows)

安装好Git之后,在桌面或者任何文件目录下右击鼠标:
在这里插入图片描述
选择Git Bash Here:
在这里插入图片描述

  • 配置个人的用户名和电子邮箱(向远程仓库push代码时显示的信息)
    • git config --global user.name “username”
    • git config --global user.email xxx@xxx.xxx
  • 查看已有的配置信息
    • git config --list
  • 如果用了 --global选项,那么更改的配置文件就是位于你用户主目录下的那个,以后你所有的项目都会默认使用这里配置的用户信息。不管你的远程版本库是用GitHub,还是GitLab,或者git.oschina.net等等,你提交代码的信息都是你上面设置的这个。

GitHub Desktop的简单使用及原理(Unity)

1.创建本地版本库并提交:

  • 打开GitHub Desktop后,点击这里
    在这里插入图片描述
    点击Add,Create new repository(新建版本库)
    在这里插入图片描述
    输入仓库名,选择存储路径,选择忽略文件(git ignore)
    在这里插入图片描述

    • git ignore:在使用Git的过程中,我们喜欢有的文件比如日志,临时文件,编译的中间文件等不要提交到代码仓库,这时就要设置相应的忽略规则,来忽略这些文件的提交。git为我们提供了一个.gitignore文件,只要在这个文件中申明有哪些文件你不希望添加到git中去,这样当你使用git add的时候这些文件就会被自动忽略。
  • 确认后可以看到在这个文件夹里已经生成了一些文件
    在这里插入图片描述
    这个.git文件是个隐藏文件,点击查看,勾选隐藏的项目,就可以看到了
    在这里插入图片描述
    此时在网页端还看不到我们新建的这个仓库,因为我们还没有上传,这里先根据自己的需要配置 .gitignore文件和 .gitattributes文件,然后打开.git文件夹,用记事本打开config文件
    在这里插入图片描述
    在这里插入图片描述
    下面我们配置unity的比较工具。在下面添加这一段代码,红色框内写你自己的UnityYAMLMerge路径(右击你的unity快捷方式,打开文件所在位置->打开Data文件夹->打开Tools文件夹(UnityYAMLMerge.exe文件就在这个文件夹中)->复制这个路径并替换到红框内->把所有" \ “替换为” / "->在路径最后加上这个exe文件的名字:UnityYAMLMerge.exe),然后保存。
    在这里插入图片描述
    基本的配置就已经完成了。
    之后在你新建的仓库文件夹(.git文件夹所在的文件夹)中新建unity文件,git会在这个文件夹中检测更新,在左边可以看到一些新增的文件(绿色的代表新增,黄色修改,红色删除)
    在这里插入图片描述
    然后我们在unity中新建一个Script文件夹,在这个文件夹下新建一个叫做New的C#脚本,在Desktop中也可以看到这些修改,然后给这次修改写一个简短的描述,然后就可以Commit到主分支上去了。
    在这里插入图片描述
    然后点击上传,选择名字、是否私有,之后就可以在网页端看到这个项目了,点开之后也可以看到这个项目的各个文件夹
    在这里插入图片描述

2.从远程版本库中克隆文件到本地
点击Add选择Clone repository,然后从版本库中选择要克隆的项目,点击Clone,
在本地你选择的文件夹中就有这个项目了,在History中也可以看到之前的一些change。
在这里插入图片描述
需要注意的是:换一台电脑,克隆之后的文件当中,.gitignore文件和.gitcontrubute文件都与原先提交的一样,但是.git文件夹中的config文件还要重新配置。


  • 多人协作中冲突的解决(主从分支)
    在上面说的Commit本地文件中,都是在主分支上操作,但是多人协作的时候,不同的人同时对一个项目操作难免会产生冲突,所以在多人项目中,最好是每个人都操作自己的一个从分支
    • 新建分支:命名为自己的id
      在这里插入图片描述

修改自己的分支后,Commit到自己的分支上,主分支并不会自动与自己的分支合并:
在这里插入图片描述
需要手动进行合并:发出合并请求Pull Requests
在这里插入图片描述
他会打开网页端,需要写一个request请求
在这里插入图片描述
然后它会进行比较,如果有冲突的话是没有办法合并的,没有冲突就可以直接合并了
在这里插入图片描述
如果你更新了一些东西,使得你的分支跟主分支不同的话,上传的时候就会出现冲突
在这里插入图片描述
这时点击打开命令行,输入git mergetool回车,只要之前你对config的配置是对的,他会自动进行比较,并合并。
在这里插入图片描述
合并之后,可能会多出一些多余的文件,可以在命令行里按Y(Yes)删掉,多余的场景可以自己打开文件夹手动删掉
在这里插入图片描述
其他人想要从主分支获取更新,可以这样做:
在这里插入图片描述
关于Git的基础使用大概就是这样了

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
【1】项目代码完整且功能都验证ok,确保稳定可靠运行后才上传。欢迎下载使用!在使用过程中,如有问题或建议,请及时私信沟通,帮助解答。 【2】项目主要针对各个计算机相关专业,包括计科、信息安全、数据科学与大数据技术、人工智能、通信、物联网等领域的在校学生、专业教师或企业员工使用。 【3】项目具有较高的学习借鉴价值,不仅适用于小白学习入门进阶。也可作为毕设项目、课程设计、大作业、初期项目立项演示等。 【4】如果基础还行,或热爱钻研,可基于此项目进行二次开发,DIY其他不同功能,欢迎交流学习。 【注意】 项目下载解压后,项目名字和项目路径不要用中文,否则可能会出现解析不了的错误,建议解压重命名为英文名字后再运行!有问题私信沟通,祝顺利! 基于C语言实现智能决策的人机跳棋对战系统源码+报告+详细说明.zip基于C语言实现智能决策的人机跳棋对战系统源码+报告+详细说明.zip基于C语言实现智能决策的人机跳棋对战系统源码+报告+详细说明.zip基于C语言实现智能决策的人机跳棋对战系统源码+报告+详细说明.zip基于C语言实现智能决策的人机跳棋对战系统源码+报告+详细说明.zip基于C语言实现智能决策的人机跳棋对战系统源码+报告+详细说明.zip基于C语言实现智能决策的人机跳棋对战系统源码+报告+详细说明.zip基于C语言实现智能决策的人机跳棋对战系统源码+报告+详细说明.zip基于C语言实现智能决策的人机跳棋对战系统源码+报告+详细说明.zip基于C语言实现智能决策的人机跳棋对战系统源码+报告+详细说明.zip基于C语言实现智能决策的人机跳棋对战系统源码+报告+详细说明.zip基于C语言实现智能决策的人机跳棋对战系统源码+报告+详细说明.zip基于C语言实现智能决策的人机跳棋对战系统源码+报告+详细说明.zip
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Letmeng

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值