【Git】一文学会Git操作
? 本文由 程序喵正在路上 原创,CSDN首发!
? 系列专栏:苍穹外卖项目实战
? 首发时间:2024年5月4日
? 欢迎关注?点赞?收藏?留言?
目录
- Git概述
- Git介绍
- Git的作用
- Git下载与安装
- Git代码托管服务
- 常用的Git代码托管服务
- 使用码云代码托管服务
- Git常用命令
- Git全局设置
- 获取Git仓库
- 工作区、暂存区、版本库概念
- Git工作区中文件的状态
- 本地仓库操作
- 远程仓库操作
- 分支操作
- 标签操作
- 在IDEA中使用Git
- 在IDEA中配置Git
- 获取Git仓库
- .gitignore文件
- 本地仓库操作
- 远程仓库操作
- 分支操作
Git概述
Git介绍
Git 是一个分布式版本控制工具,主要用于管理开发过程中的源代码文件(Java类、xml文件、html页面等),在软件开发过程中被广泛使用。
通过 Git 仓库来存储和管理这些文件,Git 仓库分为两种:
- 本地仓库:开发人员自己电脑上的 Git 仓库
- 远程仓库:远程服务器上的 Git 仓库
Git的作用
- 代码回溯
- 版本切换
- 多人协作
- 远程备份
Git下载与安装
下载地址:https://git-scm.com/downloads
安装完成后,在桌面点击鼠标右键,如果能看到 Open Git GUI Here 和 Open Git Bash Here 这两个菜单,则表示安装成功
- Open Git GUI Here:打开 Git 图形界面
- Open Git Bash Here:打开 Git 命令行
Git代码托管服务
常用的Git代码托管服务
Git 中存在两种类型的仓库,即本地仓库和远程仓库,那么我们如何搭建 Git 远程仓库呢?
我们可以借助互联网上提供的一些代码托管服务来实现,其中比较常用的有 GitHub、码云、GitLab 等
- gitHub(地址:http://github.com/),是一个面向开源及私有软件项目的托管平台,因为只支持 Git 作为唯一的版本库格式进行托管,故名 gitHub
- 码云(地址:https://gitee.com/),是国内的一个代码托管平台,由于服务器在国内,所以相比于 GitHub,码云速度会更快
- GitLab(地址:http://about.gitlab.com/),是一个用于仓库管理系统的开源项目,使用 Git 作为代码管理工具,并在此基础上搭建起来的 web 服务
- BitBucket(地址:https://bitbucket.org/),是一家源代码托管网站,采用 Mercurial 和 Git 作为分布式版本控制系统,同时提供商业计划和免费账户
使用码云代码托管服务
使用码云的操作流程如下:
- 注册码云账号
- 登录码云
- 创建远程仓库
- 邀请其它用户成为仓库成员
注册和登录的步骤我们就不讲了
创建远程仓库
填写一下信息,然后点击创建:
创建完成:
邀请其它用户成为仓库成员
前面已经在码云上创建了自己的远程仓库,目前仓库成员只有自己一个人(身份为管理员)。在企业实际开发中,一个项目往往是由多个人共同开发完成的,为了使多个参与者都有权限操作远程仓库,就需要邀请其他项目参与者成为当前仓库的成员。
Git常用命令
Git全局设置
当安装 Git 后,首先要做的事情就是设置用户名称和 emali 地址。这是非常重要的,因为每次 Git 提交都会使用该用户信息。
在 Git 命令行中,即打开 Open Git Bash Here 执行下列命令:
设置用户信息
git config --global user.name "xixi"
git config --global user.email "hello@xixi.cn"
- 注意,此处设置的 user.name 和 user.email 并不是在注册码云时使用的用户名和邮箱,可以任意设置
查看配置信息:
git config --list
获取Git仓库
要使用 Git 对我们的代码进行版本控制,首先需要获得 Git 仓库,获取 Git 仓库通常有两种方式:
- 在本地初始化一个 Git 仓库(不常用)
- 从远程仓库克隆(常用)
在本地初始化Git仓库
执行步骤如下:
- 在任意目录下创建一个空目录(例如repo1)作为我们的的本地 Git 仓库
- 进入这个目录中,点击右键打开 Git Bash 窗口
- 执行命令
git init
如果在这个目录中看到 .git 文件夹(此文件夹为隐藏文件夹)则说明 Git 仓库创建成功。
记得将隐藏项目的显示勾选上:
从远程仓库克隆
- 我们可以通过 Git 提供的命令从远程仓库进行克隆,将远程仓库克隆到本地
命令形式:
git clone [远程仓库地址]
工作区、暂存区、版本库概念
为了更好地学习 Git,我们需要了解 Git 相关的一些概念。
- 版本库:前面看到的 .git 隐藏文件夹就是版本库,版本库中存储了很多配置信息、日志信息和文件版本信息等
- 工作区:包含 .git 文件夹的目录就是工作区,也成为工作目录,主要用于存放开发的代码
- 暂存区:.git 文件夹中有很多文件夹,其中有一个 index 文件就是暂存区,也可以叫做 stage,暂存区是一个临时保存修改文件的地方
Git工作区中文件的状态
Git 工作区中的文件存在两种状态:
- untracked:未跟踪(未被纳入版本控制)
tracked:已跟踪(被纳入版本控制)
- Unmodified:未修改状态
- Modified:已修改状态
- Staged:已暂存状态
注意:这些文件的状态会随着我们执行 Git 的命令发生变化
本地仓库操作
本地仓库常用命令如下:
git status
:查看文件状态git add
:将文件的修改加入暂存区git add 文件名
git add *
git reset
:将暂存区的文件取消暂存或者是切换到指定版本git reset 文件名
:取消暂存git reset --hard 版本号
:切换版本,版本号可以在git log
中查看,即下图中红框处
git commit
:将暂存区的文件修改提交到版本库git commit -m "init hello.txt" hello.txt
,-m
就是-message
,后面跟上提交时的信息,一般是一些提示信息
git log
:查看日志git init
:可以将本地一个普通的文件夹初始化为一个本地仓库
远程仓库操作
关于远程仓库的操作,具体包括:
git remote
:查看远程仓库git remote add
:添加远程仓库git clone
:从远程仓库克隆git pull
:从远程仓库拉取git push
:推送到远程仓库git remote rm [shortname]
:删除远程仓库
查看远程仓库
如果想查看已经配置的远程仓库服务器,可以运行 git remote
命令,它会列出每一个远程服务器的简写。如果已经克隆了远程仓库,那么至少应该能看到 origin
,这是 Git 克隆的仓库服务器的默认名字。
在此基础上,加上 -v
,就可以看到远程服务器更详细的信息。
添加远程仓库
运行 git remote add <shortname> <url>
可以添加一个新的远程 Git 仓库,同时指定一个可以引用的简写。简写一般都写成 origin
,这是约定俗成的。
克隆远程仓库到本地
如果你想获得一份已经存在的 Git 远程仓库的拷贝,这时就要用到 git clone 命令。Git 克隆的是该 Git 仓库服务器上的几乎所有数据(包括日志信息、历史记录等),而不仅仅是复制工作所需要的文件。
克隆仓库的命令格式是:git clone [url]
点击这里给你的仓库创建一个分支,后面我们与远程仓库通信会用到。
然后将这个仓库克隆到你的电脑中:
推送至远程仓库
将本地仓库内容推送到远程仓库,可以使用命令:git push [remote-name] [branch-name]
。
- remote-name,也就是 origin
- branch-name,很明显是分支名字
在刚刚克隆下来的仓库中,新建一个文件 test.txt,然后我们先将其添加到本地仓库,再将其推送到远程仓库:
推送的时候,需要进行身份认证,认证通过才可以推送,认证信息为码云平台的用户名和密码,记住只有这个账号是仓库的成员才能推送:
从远程仓库拉取
git pull
命令的作用是从远程仓库获取最新版本并合并到本地仓库,命令格式:git pull [short-name] [branch-name]
。
注意:如果当前本地仓库不是从远程仓库克隆,而是本地创建的仓库,并且仓库中存在文件,此时再从远程仓库拉取文件的时候就会报错(fatal: refusing to merge unrelated histories)
解决此问题可以在 git pull
命令后加入参数 --allow-unrelated-histories
分支操作
- 分支是 Git 使用过程中非常重要的概念。使用分支意味着你可以把你的工作从开发主线上分离开来,以免影响开发主线
- 同一个仓库可以有多个分支,各个分支相互独立,互不干扰
- 通过
git init
命令创建本地仓库时会默认创建一个 master 分支
分支的常用命令如下:
git branch
:查看分支git branch [name]
:创建分支git checkout [name]
:切换分支git push [shortName] [name]
:推送至远程仓库分支git merge [name]
:合并分支
查看分支
- git branch:列出所有本地分支
- git branch -r:列出所有远程分支
- git branch -a:列出所有本地分支和远程分支
标签操作
Git 中的标签,指的是某个分支某个特定时间点的状态。通过标签,可以很方便地切换到标记时的状态。比较有代表性的是人们会使用这个功能来标记发布结点(v1.0、v2.0等)。
和标签相关的命令如下:
git tag
:列出已有的标签git tag [name]
:创建标签git push [shortName] [name]
:将标签推送至远程仓库git chechout -b [branch] [name]
:检出标签,需要创建一个新的分支来指向检出的标签
在IDEA中使用Git
在IDEA中配置Git
在 IDEA 中使用 Git,本质上还是使用我们本地安装的 Git 软件,所以需要在 IDEA 中配置 Git。
配置很简单,打开 Settings,找到 Git,将其路径设置为你安装的 Git 目录下的 cmd 目录下的 git.exe 文件,然后点击 Test 测试一下即可:
获取Git仓库
在 IDEA 中使用 Git 获取仓库有两种方式:
- 本地初始化仓库
- 从远程仓库克隆
本地初始化仓库
创建仓库的路径默认为当前项目路径,不用修改:
可以发现项目文件夹下多了一个 .git 文件夹,同时项目页面中多了几个按钮,相当于执行了 git init
:
从远程仓库克隆
填写仓库地址即可:
.gitignore文件
.gitignore
文件通常在创建一个新的 Git 仓库时会存在。它的作用是告诉 Git 哪些文件或目录应该被忽略,不纳入版本控制。这对于排除不需要被跟踪的临时文件、编译生成的文件、依赖库等非常有用。
在创建新的 Git 仓库时,通常会在项目的根目录下创建一个.gitignore
文件,并在其中列出需要忽略的文件和目录的规则。这些规则可以使用通配符、正则表达式等方式进行匹配。
例如,一个简单的 .gitignore
文件可能会忽略编译生成的文件、临时文件和依赖库:
# 忽略编译生成的文件
/build/
# 忽略临时文件
/temp/
*.tmp
# 忽略依赖库
/node_modules/
.gitignore
文件的存在可以确保项目中不必要的文件不会被添加到 Git 仓库中,从而保持仓库的清洁和简洁。
其实,这个文件在我们创建仓库的时候就可以顺便创建:
本地仓库操作
本地仓库操作:
- 将文件加入暂存区
- 将暂存区的文件提交到版本库
- 查看日志
将文件加入暂存区
一般新建文件后都会出现提示,我们可以选择 Add 并勾选记住,以后就会自动将文件加入暂存区:
如果你不小心点了取消,也可以右键文件,选择 Git → \rightarrow → Add 将文件加入暂存区。
将暂存区的文件提交到版本库
右键一个文件,选择 Git → \rightarrow → Commit Files 即可提交文件:
当然,还有一个更方便的方法就是点击按钮提交:
查看日志
点击时钟按钮即可查看日志:
远程仓库操作
远程仓库操作:
- 查看远程仓库
- 添加远程仓库
- 推送至远程仓库
- 从远程仓库拉取
查看、添加远程仓库
找到 Git → \rightarrow → Manage Remotes,即可查看远程仓库,同时可以添加、删除和编辑远程仓库:
推送至远程仓库
一种方式是直接点击推送按钮;另一种方式是在提交的同时顺便推送,如下图所示
从远程仓库拉取
选择 Git → \rightarrow → Pull 即可从远程仓库拉取;或者直接点击向下的按钮来拉取。
分支操作
分支操作:
- 查看分支
- 创建分支
- 切换分支
- 将分支推送到远程仓库
- 合并分支
查看分支
选择 Git → \rightarrow → Branches 即可查看分支;或者点击项目页面右下角:
创建分支
选择 Git → \rightarrow → Branches → \rightarrow → New Branch 即可创建分支。
切换分支
选择 Git → \rightarrow → Branches,点击当前分支,再点击 Checkout 即可切换分支。
将分支推送到远程仓库
选择 Git → \rightarrow → Branches,点击当前分支,再点击 Push 即可推送分支。
合并分支
选择 Git → \rightarrow → Branches,点击想要合并到当前分支的分支,右键选择 Merge into Current 即可。
还没有评论,来说两句吧...