一、前言
最近吃饭的时候看完了狂神说的git系列,正好也在做一个人脸识别系统,所以刚好来实践一下~ 先把文档的连接复制一下: https://mp.weixin.qq.com/s/Bf7uVhGiu47uOELjmC5uXQ 视频就直接b站搜索~ 1、我想用git实现什么功能?[最后看看实现没有] (1)追踪历史记录 (2)多人协同开发 2、SVN有什么特点? 信息都在服务器上,用户本地只有以前同步的版本。 3、Git有什么特点? (1)分布式版本控制系统——所有人拥有全部代码 (2)可以离线在本地提交,联网时push到服务器或其他用户。 (3)没有中心服务器
二、下载安装git bash
1、我之前安装过了~ 2、常用的linux命令
三、配置Git
1、设置账户信息 2、查看当前配置 发现没有,可能之前没配置过 3、进行配置 安装操作,对当前用户进行了配置。这一步是必要的,因为git每次提交都会使用该信息
四、基本理论
1、命令概览 2、本地工作空间 这张图和底下的解释清楚地阐述了git在本地的三个区域,实在想截图。
3、工作流程
五、Git项目搭建
1、创建工作目录(最好不要用中文球球了) 2、日常使用6个命令 3、如何搭建本地仓库呢? (1)创建全新仓库 根目录执行git init (2)克隆远程仓库 git clone [url]
六、git文件操作
1、文件有哪四种状态呢? untracked\unmodify\modified\staged untracked:未入库 unmodify:入库,但是未被修改。 modified:文件被修改。git add->暂存;git checkout->丢弃修改。【这步nb,相当于改完以后后悔了,直接撤销】 staged:暂存状态 感觉这部分挺重要的,用visio画了一张图 2、如何查看文件状态 git status [filename] git status 3、什么是忽略文件? 不想上传的文件需要忽略 .gitignore文件,有对应规则。
七、使用码云
1、去注册啦~ 2、为什么要绑定本机SSH公钥呢? 就是建立信任制剂,保证以后每次push的时候,能够直接登录到远程的账号里。 具体按照操作就好。 本地生成,在码云网站上设置。也就是我在码云网站上认证了我的这个本地git,下次我就本地请求的时候,远程一看是认证过的好兄弟jjg,就直接让它操作了,不用再登录认证身份之类的了。
有惊无险,还是要打开对应的文件复制公钥的。
3、创建自己的库 4、有个问题,git push如何知道我要push到哪个仓库? 其实是这样的,git push remote默认是origin,而origin在你远程克隆的.git里默认是你克隆后你的仓库。 merge则默认是主分支。 5、那么产生了另一个问题,本地生成的git对应的origin是?应该没设置 用这个操作设置: git remote add origin http地址 (关联本地仓库与远程仓库,默认已创建了远程仓库(Github、码云……))
做个实验叭 新建了一个git 尝试push,他会说,没有对应的远程仓库,需要指定
八、其它问题
1、git退出当前本地仓库 好像没有退出当前本地仓库,就是你切换到哪个本地空间,就进入了哪个对应的git。 2、git版本控制本地会储存文件的多个版本吗?会不会占用过多空间???
先做个测试,现在1.txt是unmodify状态我去modify一下 做了一些修改,应该边玩modified状态了 我还有一个文件未入库的2.txt,先记录一下
现在把1.txt放入本地缓存,变为staged状态。直接用 add .,看看2.txt会不会也入库
事实证明,2.txt不仅入库了,甚至还直接变成了stated状态 好吧,我们来把它们都commit,完美操作,加了-m 现在两个都变成unmodify了,所以啥都不显示 再改下1,改为第二次修改 因为已经入库,所以显示1.txt的状态改变 现在直接commit,看看能不能入库 还不可以,因为噢噢噢好像我忘记-m了 应该不行,那我们先c 先add加入暂存,虽然还是modified,但其实已经变成need to be commited了 3、尝试一下恢复操作 先git log,可以查看到所有版本信息,因为涉及到个人隐私,我就不截图了。 我们恢复到1.txt的第一个版本
鹅鹅鹅理论上讲,不加hard就可以改变head的位置
有作用了,~是往前;^是往后。 后面可以加数字,代表几步。噢噢噢要加大于1的数字 额鹅鹅鹅好像res不是改的指针位置,是直接恢复了之前的版本,太恐怖了,在弄清楚之前,还是先做实验测试叭!! 现在应该是直接恢复了 还可以通过指定版本号恢复 鹅鹅鹅还是有区别的 没加 --hard是不会改变本地空间的,只是在缓存里。 所以现在1.txt还是没变的,应该。 确实没变
鹅鹅鹅探究的乱七八糟,费了不少时间, 这篇关于git reset的文章不错,以后有时间、遇到具体问题再查吧,这样空想问题太浪费时间了,以后不要这样学习哦 https://www.jianshu.com/p/c2ec5f06cf1a
九、传一下
太晚啦,终于要把项目放到gitee上啦。 好慢呀!!!!! 成功啦!!!!!!! 睡觉去啦!!!!
|