一、git简介及安装
Git 是一个开源的分布式版本控制系统,用于敏捷高效地处理任何或小或大的项目。
Git 是 Linus Torvalds 为了帮助管理 Linux 内核开发而开发的一个开放源码的版本控制软件。
Git 与常用的版本控制工具 CVS, Subversion 等不同,它采用了分布式版本库的方式,不必服务器端软件支持。
Git 与 SVN 区别
Git 不仅仅是个版本控制系统,它也是个内容管理系统(CMS),工作管理系统等。
如果你是一个具有使用 SVN 背景的人,你需要做一定的思想转换,来适应 Git 提供的一些概念和特征。
Git 与 SVN 区别点:
-
1、Git 是分布式的,SVN 不是:这是 Git 和其它非分布式的版本控制系统,例如 SVN,CVS 等,最核心的区别。
-
2、Git 把内容按元数据方式存储,而 SVN 是按文件:所有的资源控制系统都是把文件的元信息隐藏在一个类似 .svn、.cvs 等的文件夹里。
-
3、Git 分支和 SVN 的分支不同:分支在 SVN 中一点都不特别,其实它就是版本库中的另外一个目录。
-
4、Git 没有一个全局的版本号,而 SVN 有:目前为止这是跟 SVN 相比 Git 缺少的最大的一个特征。
-
5、Git 的内容完整性要优于 SVN:Git 的内容存储使用的是 SHA-1 哈希算法。这能确保代码内容的完整性,确保在遇到磁盘故障和网络问题时降低对版本库的破坏。
下载地址:
Git - Downloadshttps://git-scm.com/downloads
傻瓜式安装
二、git常用命令
git config --list :全局命令
git clone :将远程仓库clone到本地计算机。
git status :展示工作区及暂存区域中不同状态的文件。
git add :将内容从工作目录添加到暂存区。
git commit :所有通过 git add 暂存的文件提交到本地仓库。
git push :将本地仓库的记录提交到远程仓库。(注意:https协议需要登录,安全性不高)
git reset HEAD <file> :从暂存区移除指定文件。
git checkout -- <file> :从本地仓库恢复指定文件。
git pull :拉取远程仓库的数据。
示例:
新建文件夹git 打开gitBash目录,执行git clone (项目路径)https://gitee.com/sunjiayi0513/git01.git 命令会出现以下文件
执行git status可看到haha.java爆红,说明它是新增的目录,没有更新
当我执行完git add haha.java时 再查看状态(新增状态变为暂存状态)
执行git commit -am '备注' 提交文件,再次查看状态时haha.java文件就没有了
当修改了haha.java内容时,查看状态(变成了已修改状态)
增加全部 git add .
使用git push 登录成功后 远程仓库可查看到提交备注
如果新建了一个项目,应该重新建一个仓库,然后跟码云建立联系,建立联系的命令页面上会有,直接复制即可
然后再执行下面一行
然后提交就可以看到啦
使用界面版提交代码
点击commit后点击push
点击push,出现下面界面
查看码云
更新成功啦!
三、SSH key
1.ssh key介绍
我理解的就是每台电脑上会产生出一个ssh key,然后自己有一个远程账户,但是自己有可能有很多台电脑,包括家里的电脑还有公司的电脑,我们可以在任意一台电脑上工作,但是如果想要每台电脑都和远程版本库时刻保持着通讯,就需要将每台电脑的ssh key添加到远程账户,添加到远程版本库之后,远程版本库就会和已经添加的电脑进行通讯而不会和其他电脑进行通讯
建议:所有的Git操作都通过ssh key进行,因为简单
注:https协议就好像使用WIFI,Git协议就好像绑定Mac地址;固ssh协议更加安全;
2.ssh key 使用
①配置github账号及邮箱(这个上面已经配置过,可跳过)
②检查下自己之前有没有已经生成ssh 执行命令cd ~/.ssh
没有生成会出现
No such file or directory
③执行命令生成ssh文件
ssh-keygen -t rsa -C "绑定的邮箱"
会有三个选择题,直接回车就行
④ 会自动生成两个文件
复制第二个文件内容,粘贴到码云中修改公钥
⑤测试ssh连接
执行命令 ssh -T git@gitee.com
出现一个选择题 输入yes即可,出现successful表示成功
复制git01的ssh协议地址在git目录下进行clone操作
.ssh中出现文件
使用ssh更新代码都不再需要重新输入密码,安全性提高
四、IDEA集成Git
1.在idea中进行配置
2.SVG菜单建立仓库
3.切换到本地仓库目录进行编码
4.下载插件gitee
5.将编码上传到码云
6.先提交,后推送
五、git分支
原理图
1.查看分支 git branch
2.新增分支dev git branch dev
3.绿色的分支是自身所在分支
4.切换到dev分支 git checkout dev
5.新增+切换 git checkout -b 分支名
6.合并分支到当前分支 git merge 副分支
7.合并到主分支后可删除分支 git branch -d 分支名(不能是当前分支)
8.删除远程分支 git push origin --delete 分支名