git入门

1、是什么
2、干什么的
3、怎么用
4、优缺点

1、GIT是什么!

Git是一个开源的分布式版本控制系统,用以有效、高速的处理从很小到非常大的项目版本管理. Git 是 Linus Torvalds 为了帮助管理 Linux 内核开发而开发的一个开放源码的版本控制软件。

1.1版本控制工具

版本控制工具有两种 SVN 、CVS 和 Git

1.2SVN

SVN全名Subversion,即版本控制系统。

SVN与CVS一样,是一个跨平台的软件,支持大多数常见的操作系统。作为一个开源的版本控制系 统,Subversion 管理着随时间改变的数据。 这些数据放置在一个中央资料档案库中。 这个档案库很像一 个普通的文件服务器, 不过它会记住每一次文件的变动。 这样你就可以把档案恢复到旧的版本, 或是浏 览文件的变动历史。Subversion 是一个通用的系统, 可用来管理任何类型的文件, 其中包括了程序源 码。

SubVersion:实现服务系统的软件。 TortoiseSVN:是SVN客户端程序,为windows外壳程序集成到windows资源管理器和文件管理系统的 Subversion客户端。

1.3Git

Git是一个开源的分布式版本控制系统,用以有效、高速的处理从很小到非常大的项目版本管理.

Git 是 Linus Torvalds 为了帮助管理 Linux 内核开发而开发的一个开放源码的版本控制软件。

Torvalds 开始着手开发 Git 是为了作为一种过渡方案来替代 BitKeeper,后者之前一直是 Linux 内核开 发人员在全球使用的主要源代码工具。开放源码社区中的有些人觉得 BitKeeper 的许可证并不适合开 放源码社区的工作,因此 Torvalds 决定着手研究许可证更为灵活的版本控制系统。尽管最初 Git 的开发 是为了辅助 Linux 内核开发的过程,但是我们已经发现在很多其他自由软件项目中也使用了 Git。例如 最近就迁移到 Git 上来了,很Freedesktop 的项目也迁移到了 Git 上。

1.4git和svn的区别

  1. Git 是分布式的,SVN 不是

这是 Git 和其它非分布式的版本控制系统,例如 SVN,CVS 等,最核心的区别

  1. Git 把内容按元数据方式存储,而 SVN 是按文件

所有的资源控制系统都是把文件的元信息隐藏在一个类似 .svn、.git 等的文件夹里

  1. Git 分支和 SVN 的分支不同

分支在 SVN 中一点都不特别,其实它就是版本库中的另外一个目录。Git 分支是指针指向某次提 交,而 SVN 分支是拷贝的目录。这个特性使 Git 的分支切换非常迅速,且创建成本非常低。
Git 有本地分支,SVN 无本地分支。在实际开发过程中,经常会遇到有些代码没写完,但是需紧急 处理其他问题,若我们使用 Git,便可以创建本地分支存储没写完的代码,待问题处理完后,再回 到本地分支继续完成代码

  1. Git 没有一个全局的版本号,而 SVN 有 :

目前为止这是跟 SVN 相比 Git 缺少的最大的一个特征。

  1. Git 的内容完整性要优于 SVN

Git 的内容存储使用的是 SHA-1 哈希算法。这能确保代码内容的完整性,确保在遇到磁盘故障和网 络问题时降低对版本库的破坏。
image-20220328194904259

2、Git安装

下载地址:https://www.git-scm.com/download/win
image.png

image.png
检验是否安装成功,桌面上鼠标右击后 :image.png

2.2 git的工作区域

(1)工作区:用来对代码进行修改
(2)暂存区
(3)git仓库区
image.png
工作区->暂存区 git add 文件名
暂存区->仓库 git status 先查看文件状态 (会现实未提交,可取消)
git commit -m “提交描述”

3、初始化仓库

(1)新建文件夹,进入到该目录,右键打开git bash
(2)在文件夹内初始化git(创建git仓库) 命令:git init (会生成一个.git的隐藏文件)
(3)仓库中添加信息

  • git add 文件名-> 结果:new file:文件名 //工作区到暂存区
  • git add * 添加所有文件
  • git commit -m ‘描述信息’ //暂存区到仓库

(4)仓库中修改信息
修改完成后按照原来的程序再执行
image.png
(5)删除文件

  • git rm 文件名 如果想要删除文件夹,则添加参数 -r
  • git commit -m ‘提交描述’

(6)删除文件夹
当我们需要删除暂存区或分支上的文件, 但本地又需要使用, 只是不希望这个文件被版本控制, 可以使用 git rm -r --cached 文件夹名称
实例:

  • git rm -r --cached target 删除target文件夹

  • git commit -m ‘删除了target’ 提交,添加操作说明

4、分支多人协作

以当前分支为基础新建分支:

git checkout -b <branchname>

列举所有的分支:

git branch

单纯地切换到某个分支:

git checkout <branchname>

删掉特定的分支:

git branch -D <branchname>

合并分支:

git merge <branchname>

放弃当前合并(当发现自己无法完全清楚消除冲突时保留哪个分支时,放弃合并)

git merge --abort

5、 Git远程服务器介绍

5.1 Git远程服务器介绍

通过git管理github托管项目代码

gitHub是一个面向开源及私有软件项目的托管平台,因为只支持git 作为唯一的版本库格式进行托管, 故名gitHub。

gitHub于2008年4月10日正式上线,除了git代码仓库托管及基本的 Web管理界面以外,还提供了订 阅、讨论组、文本渲染、在线文件编辑器、协作图谱(报表)、代码片段分享(Gist)等功能。

访问地址:https://github.com/
image-20220328195240123

5.2.GitLab

GitHub 和 GitLab 都是基于 web 的 Git 仓库,使用起来二者差不多,它们都提供了分享开源项目的平台,为开发团队提供了存储、分享、发布和合作开发项目的中心化云存储的场所。

GitHub 作为开源代码库,拥有超过 900 万的开发者用户,目前仍然是最火的开源项目托管平台, **GitHub 同时提供公共仓库和私有仓库,但如果使用私有仓库,是需要付费的。 GitLab 解决了这个问题,你可以在上面创建私人的免费仓库。 **

GitLab 让开发团队对他们的代码仓库拥有更多的控制,相比较 GitHub , 它有不少特色:

  • (1) 允许免费设置仓库权限;
  • (2) 允许用户选择分享一个 project 的部分代码;
  • (3) 允许用户设置 project 的获取权限,进一步提升安全性;
  • (4) 可以设置获取到团队整体的改进进度;
  • (5) 通过 innersourcing 让不在权限范围内的人访问不到该资源;

5.3 gitee(码云)

码云(Gitee)是 OSCHINA 推出的代码托管协作开发平台,支持 Git 和 SVN,提供免费的私有仓库托 管。2016 年推出企业版,提供企业级代码托管服务,成为开发领域领先的 SaaS 服务提供商。

访问地址:https://gitee.com/
image.png

5.5. 基本概念

(1) 仓库(Repository)
仓库即你的项目,你想在github上开源一个项目,那就必须要新建一个repository,如果你开源的项目 多,那你拥有的仓库也就很多
(2) 收藏(star)
仓库主页的star按钮,意思是收藏项目的人数。
(3) 复制克隆项目(fork)
在原项目的基础上新增代码和结构,也可以理解成拿别人的代码进行二次加工。Fork后,会在自己账 号下,生成自己的相同仓库
(4) 发起请求(pull request,简称PR)
这个是基于fork的,当其他人改进完代码后,想将这个项目合并到原项目,则这个时候会给你发起一 个pull request。如果接受了请求,这个时候就可以拥有改进的项目了
(5) 关注(watch)
即观察,可以随时看到被关注项目的更新
(6) 事务卡片(Issue)
发现代码有bug,但是目前还没成型,需要讨论时使用 当别人发现你的问题时,会提个lssue
(7) Gitee主页
账号创建完后,点击导航栏gitee图标即可进入主页。左侧显示功能列表,右侧显示仓库动
(8) 仓库主页
仓库主页主要显示项目的信息,如:代码,版本,收藏,关注,fork等

5.6git管理远程仓库

目的:备份,实现代码共享
实现过程: 客户端:
(1)将本地项目提交到git
(2)建立本地和远程仓库的关系
步骤1:
git克隆操作:将远程仓库的项目复制到本地
命令: git clone 仓库地址
image.png
注意:初始化操作使用一次即可
image.png
步骤3:要更新你的本地仓库至最新改动,执行: git pull 从非默认位置更新到指定的url。
git pull http://git.example.com/project.git

实例:
image.png

6、idea+git

Idea关联git Idea自身路径需要在英文目录
1)Idea配置Git客户端: File — Settings—Version Control — Git关联Git安装目录下的
bin/git.exe执行文件(这个就是git的客户端指令,类似svn.exe) image.png
2)下载gitee插件 image-20220328195522524
3)添加信息
注意:登录时,使用邮箱登录
image.png
image.png
4)本地项目上传到服务器

image.png

5)服务器项目下载到本地
image.png

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值