【Java基础篇】之Git工具

        对于广大编程爱好来说都应该知道github,没错就是全世界最大的代码托管平台,在学习Java或者熟练使用Java如果对于Git不了解可以根据本文了解并利用Git工具提高开发。

一、为什么使用Git?

1.Git介绍

        Git是一个开源的分布式版本控制系统,可以有效、高速地处理从很小到非常大的项目版本管理。Git是Linus Torvalds 为了帮助管理 Linux 内核开发而开发的一个开放源码的版本控制软件,这里列举两种版本控制工具:

        a、集中式版本控制工具

集中式版本控制工具,版本库是集中存放在中央服务器的,team里每个人work时从中央服务器下载代 码,是必须联网才能工作,局域网或互联网。个人修改后然后提交到中央版本库。

举例:SVN和CVS
        b、分布式版本控制工具
分布式版本控制系统没有“中央服务器”,每个人的电脑上都是一个完整的版本库,这样工作的时候,无 需要联网了,因为版本库就在你自己的电脑上。多人协作只需要各自的修改推送给对方,就能互相看到对方的
修改了。
举例:Git

2.Git优点     

        Git是分布式的,Git不需要有中心服务器,我们每台电脑拥有的东西都是一样的。我们使用Git并且有个中心服务器,仅仅是为了方便交换大家的修改,但是这个服务器的地位和我们每个人的PC是一样的。我们可以 把它当做一个开发者的pc就可以就是为了大家代码容易交流不关机用的。没有它大家一样可以工作,只不 过“交换”修改不方便而已 。
        主要包括以下优点:
        
  1. 分布式存储
    • Git 允许开发者在本地进行完整的版本控制操作,包括提交、分支管理等,无需连接到中央服务器。这极大地提高了开发效率和灵活性,尤其是在网络条件不佳或没有网络连接的环境中。
  2. 高效的数据存储
    • Git 存储数据的方式非常高效,它只存储数据变化的部分(即差异或补丁),而不是存储文件的完整副本。这种方式大大节省了存储空间,并且加快了数据传输速度。
  3. 强大的分支和合并能力
    • Git 鼓励开发者频繁地使用分支来开发新功能或修复问题。由于分支在 Git 中是轻量级的,创建和切换分支的成本非常低。这使得并行开发和协作变得更加容易。
    • Git 的合并功能也非常强大,它提供了多种合并策略,并且支持在合并过程中解决冲突。
  4. 支持离线工作
    • 如前所述,Git 的分布式特性使得开发者可以在没有网络连接的情况下进行工作。当网络连接恢复时,开发者可以轻松地将本地更改同步到远程仓库。
  5. 安全性
    • Git 使用 SHA-1 哈希来确保数据的完整性。每次提交、标签或分支都会生成一个唯一的哈希值,这有助于防止数据被篡改。
    • Git 还支持签名和验证提交,以确保提交的来源和完整性。
  6. 灵活的权限控制
    • 虽然 Git 本身不直接提供权限控制功能,但它可以与各种权限控制系统(如 Gitolite、Gerrit、GitLab 等)集成,以实现细粒度的权限控制。
  7. 广泛的社区支持和丰富的工具链
    • Git 拥有一个庞大的用户社区和丰富的生态系统,包括各种客户端工具(如 GitKraken、SourceTree 等)、IDE 插件、持续集成/持续部署(CI/CD)工具等。这些工具极大地提高了开发者的工作效率和协作能力。
  8. 易于学习和使用
    • 尽管 Git 功能强大且复杂,但它的基本命令相对简单且直观。通过少量的学习,开发者就可以掌握 Git 的核心功能并开始使用它来进行版本控制。

        以下是多人协作使用Git的一个示例图:

二、Git安装与常用命令演示

1.Git安装

        浏览器搜索找到Git官网下载链接:Git - Downloading Package (git-scm.com)

        选择64位Windows安装程序下载启动,完成后无脑执行安装即可,成功后在任意文件夹右击鼠标如下显示代表成功,就是如此简单~

        Git GUI: Git 提供的图形界面工具
        Git Bash: Git 提供的命令行工具
        当安装Git 后首先要做的事情是设置用户名称和 email 地址。这是非常重要的,因为每次 Git 提交都会使用该用户信息,点击 Open Git Bash here打开git命令行这里打开一个类似于Linux操作界面的git交互界面,设置用户配置信息。再次之前访问 工作台 - Gitee.com官网注册一个gitee账号(这里也可以使用github当然gitee速度快~)

 

        输入以下指令配置信息,分别替换为你的gitee用户名和邮箱(注意在同Linux类似的命令行中复制粘贴是ctrl+shift+c/v,当然右键也可以提示然后使用)

git config --global user.name "yourusername"
git config --global user.email "youremail"
        查看配置信息
git config --global user.name
git config --global user.email
        配置后如下:

2.Git命令及演示

        下面是一些常用的Git命令总结:
1. 初始化一个新的Git仓库:git init
2. 克隆(Clone)一个远程仓库到本地:git clone <远程仓库URL>
3. 添加文件到暂存区(Staging Area):git add <文件名>
4. 提交更改到本地仓库:git commit -m "提交信息"
5. 查看当前仓库状态:git status
6. 查看提交日志:git log
7. 推送本地提交到远程仓库:git push <远程仓库名称> <分支名称>
8. 拉取远程仓库的更新到本地:git pull <远程仓库名称> <分支名称>
9. 创建新分支:git branch <分支名称>
10. 切换到特定分支:git checkout <分支名称>
11. 合并分支:git merge <分支名称>
12. 撤销文件的暂存或修改:git restore <文件名>
13. 回退到之前的提交:git reset <提交ID>
14. 创建并切换到新的分支:git checkout -b <新分支名称>
这只是一些Git的常见命令,涵盖了基本的操作。Git还有更多的功能和命令,你可以查阅官方文档或其他资源以获取更详细的信息。

        下面我们通过演示并详细介绍以上指令,新建文件夹右键在该文件夹运行指令git init,显示一个隐藏文件夹.git(该文件夹是git仓库管理文件的文件夹是git的工作目录,如果没有显示可以在资源管理器中查看显示隐藏文件夹)便能够在当前文件夹下建立了一个本地仓库

        Git工作目录下对于文件的修改(增加、删除、更新)会存在几个状态,这些修改的状态会随着我们执行Git 的命令而发生变化,以下是git三大状态的介绍

        新建一个文本文件,演示通过指令git add <文件名>添加到缓存区,git commit -m "提交信息"将所有缓存区中文件提交给仓库管理(这里提交信息主要做一个提示作用和注释类似),那么就可以根据不同提交来进行版本控制了

        通过git log --all查看提交信息,便可以知道提交信息记录

        gitee(码云)创建一个远程仓库,仓库选择为私有或开源都行,后查看仓库的ssh地址

        使用指令git remote add <远端名称> <仓库路径>这里远端名称默认为origin而仓库路径及上图ssh网址是访问和建立远程仓库联系的网址,建立本地与远程仓库联系可通过查看远程仓库git remote验证是否连接

        此时刷新仓库没有任何反应,因为只建立了联系没有推送到远程仓库管理,这时通过指令:git push --set-upstream origin master便将本地提交的文件推送到远程仓库管理,刷新远程仓库可见文件temp.txt存在于远程仓库

        我们修改远程仓库中temp.txt中内容保存,那么远程仓库中的修改要在本地仓库也同样修改则需要使用指令:git pull拉取这时本题与远程仓库同步了

        快速建立本地与远程仓库连接也可以使用克隆git clone <远程地址>这里新建文件夹演示,克隆后文件夹中会建立一个同远程仓库保存联系且同步的文件夹

        以上是git管理仓库的基本命令演示,对于其他指令及详细信息可以查阅网上资料,这里推荐一个学习git的一个网站帮助更深入了解git工具分支已经熟练使用git指令:Learn Git Branching,以下是git指令的图示:

        现在你可以轻松使用git指令来克隆别人的开源仓库并托管自己的代码了~

  • 8
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

想我记得写信

您的鼓励是我创作最大的动力!

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

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

打赏作者

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

抵扣说明:

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

余额充值