Git 常用命令详解及如何在IDEA中操作
Git 常用命令详解及如何在IDEA中操作
文章目录
前言
为了巩固所学的知识,作者尝试着开始发布一些学习笔记类的博客,方便日后回顾。当然,如果能帮到一些萌新进行新技术的学习那也是极好的。作者菜菜一枚,文章中如果有记录错误,欢迎读者朋友们批评指正。
(博客的参考源码可以在我主页的资源里找到,如果在学习的过程中有什么疑问欢迎大家在评论区向我提出)
发现宝藏
前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家。【宝藏入口】。
一、初识Git
1.Git概述
Git是一个分布式版本控制工具,主要用于管理开发过程中的源代码文件 (Java类、xml文件、html页面等)在软件开发过程中被广泛使用Git 仓库分为两种:
- 本地仓库:开发人员自己电脑上的 Git 仓库
- 远程仓库:远程服务器上的 Git 仓库
2. Git的功能
- 代码回溯
- 版本切换
- 多人协作
- 远程备份
3. Git运行图示
- commit:提交将本地文件和版本信息保存到本地仓库
- push: 推送,将本地仓库文件和版本信息上传到远程仓库
- pull:拉取,将远程仓库文件和版本信息下载到本地仓库>
二、Git下载安装
一直点下一步就行
- Git GUl Here:打开Git 图形界面
- Git Bash Here:打开Git 命令行
三、Git 代码托管服务
1.常用的 Git 代码托管服务
- Git中存在两种类型的仓库,即本地仓库和远程仓库。那么我们如何搭建Git远程仓库呢?
- 我们可以借助互联网上提供的一些代码托管服务来实现,其中比较常用的有GitHub、码云、GitLab等
- gitHub( 地址: htps://github.com/),是一个面向开源及私有软件项目的托管平台,因为只支持Git 作为唯-的版本库格式进行托管,故名gitHub
- 码云(地址: https://gitee.com/),是国内的一个代码托管平台,由于服务器在国内,所以相比于GitHub,码云速度会更快
- GitLab (地址: https://about.gitlab.com/),是一个用于仓库管理系统的开源项目,使用Git作为代码管理工具,并在此基础上搭建起来的web服务
- BitBucket(地址: htos://bitbucket.org/) ,是一家源代码托管网站,采用Mercurial和Git作为分布式版本控制系统,同时提供商业计划和免费账户
2.使用码云代码托管服务
1. 使用码云的操作流程如下:
- 注册码云账号
- 登录码云
- 创建远程仓库
- 邀请其他用户成为仓库成员
2. 注册码云账号
3. 使用码云代码托管服务-创建远程仓库
4. 创建完成后可以查看仓库信息
注意:每个Git远程仓库都会对应一个网络地址,点击[克隆/下载] 按钮,在弹出窗口点击复制]按钮获得网络地址
5. 使用码云代码托管服务-邀请其他用户成为仓库成员
前面已经在码云上创建了自己的远程仓库,目前仓库成员只有自己一个人(身份为管理员)。在企业实际开发中,一个项目往往是由多个人共同开发完成的,为了使多个参与者都有权限操作远程仓库,就需要邀请其他项目参与者成为当前仓库的成员
四、Git 常用命令
1.Git 全局设置
- 当安装Git后首先要做的事情是设置用户名称和email地址。这是非常重要的,因为每次Git提交都会使用该用户信息
- 在Git 命令行中执行下面命令(任意目录鼠标右键,双击选项Git Bash Here)
- 设置用户信息
git config –global user.name “dongli”
git config –global user.email “2730732500@qq.com”- 查看配置信息
git config –list
注意:上面设置的user.name和user.email并不是我们在注册码云账号时使用的用户名和邮箱,此处可以任意设置
2.获取Git 仓库
- 要使用Git对我们的代码进行版本控制,首先需要获得Git仓库。
- 获取Git仓库通常有两种方式
- 在本地初始化一个Git仓库 (不常用 )
- 从远程仓库克隆(常用)
1. 本地初始化Git仓库执行步骤
- 在任意目录下创建一个空目录(例如repo1)作为我们的本地Git仓库
- 进入这个目录中,点击右键打开Git bash窗口
- 执行命令git init
注:如果在当前目录中看到.git文件夹 (此文件夹为隐藏文件夹)则说明Git仓库创建成功
2. 从远程仓库克隆(常用)
- 可以通过Git提供的命令从远程仓库进行克隆,将远程仓库克隆到本地
命令形式: git clone[远程Git仓库地址]
3.工作区、暂存区、版本库 概念
- 版本库: 前面看到的.git隐藏文件夹就是版本库,版本库中存储了很多配置信息、日志信息和文件版本信息等
- 工作区: 包含.git文件夹的目录就是工作区,也称为工作目录,主要用于存放开发的代码
- 暂存区: .git文件夹中有很多文件,其中有一个index文件就是暂存区,也可以叫做stage。暂存区是一个临时保存修改文件的地方
4.Git 工作区中文件的两种状态
- untracked未跟踪(未被纳入版本控制)
- tracked 已跟踪(被纳入版本控制)
- Unmodified 未修改状态
- Modified 已修改状态
- staged 已暂存状态
注意: 这些文件的状态会随着我们执行Git的命令发生变化
5.本地仓库常用命令
- git status – 查看文件状态
- git add – 将文件的修改加入暂存区
例1:git add he11o.txt- git reset – 将暂存区的文件取消暂存或者是切换到指定版本(log中找版本号)
例1:git reset he11o.txt
例2:git reset –hard 090950e68ecc099c5c021194d14b18d713880b75- git commit – 将暂存区的文件修改提交到版本库
例1:git commit -m “edit User.java“ User.java- git log – 查看日志
6.远程仓库操作
前面执行的命令操作都是针对的本地仓库,本节我们会学习关于远程仓库的一些操作,具体包括
- git remote – 查看远程仓库
例1:git remote -v- git remote add – 添加远程仓库、
格式:git remote add <简称> <远程仓库地址>
例1:git remote add origin https://gitee.com/ChuanZhiBoke/repol.git- git clone – 从远程仓库克降
- git pull – 从远程仓库拉取(删除)
格式:git pull [远程仓库别名] [分支的名称]- git push – 推送到远程仓库
格式:git push [远程仓库别名] [分支的名称l
例1:git push origin master(添加)
1.注意是否是远程仓库所在的文件目录
2.文件先添加到缓存区,再提交到本地仓库,最后推送到远程仓库进行同步
3.如果当前本地仓库不是从远程仓库克隆,而是本地创建的仓库,并且仓库中存在文件,此时再从远程仓库拉取文件的时候会报错,可以在git pull命令后加入参数--allow-unrelated-histories
8.分支操作
- 分支是Git 使用过程中非常重要的概念。使用分支意味着你可以把你的工作从开发主线上分离开来,以免影响开发主线同一个仓库可以有多个分支,各个分支相互独立,互不干扰。
- 通过git init 命令创建本地仓库时默认会创建一个master分支,关于分支的相关命令具体如下:
- git branch – 查看分支
git branch -r – 列出所有远程分支
git branch -a – 列出所有本地分支和远程分支- git branch [name] – 创建分支
- git checkoutIname] – 切换分支
- git push[shortName][name] – 推送至远程仓库分支
- git merge [name] – 合并分支
9.标签操作
- Git 中的标签,指的是某个分支某个特定时间点的状态。
- 通过标签,可以很方便的切换到标记时的状态比较有代表性的是人们会使用这个功能来标记发布结点 (v1.0、1.2等)。和标签相关的命令如下:
- git tag –列出已有的标签
- git tag [name] – 创建标签
- git push [shortName][name] – 将标签推送至远程仓库
- git checkout -b [branch][name] – 检出标签
五、在IDEA中使用Git
1.在IDEA中配置 Git
- 在IDEA中使用Git,本质上还是使用的本地安装的Git软件,所以需要在IDEA中配置Git
2.获取Git仓库
1. 在IDEA中使用Git获取仓库有两种方式
- 本地初始化仓库
- 从远程仓库克隆
3.本地仓库操作
1. 将文件加入暂存区
2. 将暂存区的文件提交到版本库
3. 查看日志
4.远程仓库操作
1. 查看远程仓库
2. 添加远程仓库(关联关系)
3. 推送至远程仓库
4. 从远程仓库拉取
5.分支操作
1. 查看分支
2. 创建分支
3. 切换分支
4. 将分支推送到远程仓库
5. 合并分支
欢迎各位留言交流以及批评指正,如果文章对您有帮助或者觉得作者写的还不错可以点一下关注,点赞,收藏支持一下。
- 原文作者:Ethan
- 原文链接:https://zhangxingong.fun/post/java-git-beginner/
- 版权声明:本作品采用知识共享署名-非商业性使用-禁止演绎 4.0 国际许可协议. 进行许可,非商业转载请注明出处(作者,原文链接),商业转载请联系作者获得授权。