git总结和常用命令

Git总结和常用命令

要想提交某个文件必须先加到暂存区然后才能提交

1 概述

1.1 简介

​ Git是分布式版本控制系统,分为两种类型的仓库:本地仓库和远程仓库。

本地仓库:是在开发人员自己电脑上的Git仓库

远程仓库:是在远程服务器上的Git仓库

在这里插入图片描述

Clone:克隆,就是将远程仓库复制到本地

Push:推送,就是将本地仓库代码上传到远程仓库

Pull:拉取,就是将远程仓库代码下载到本地仓库

1.2 工作流程

在这里插入图片描述

  1. 从远程仓库中克隆代码到本地仓库
  2. 从本地仓库中checkout代码然后进行代码修改
  3. 在提交前先将代码添加到暂存区
  4. 提交到本地仓库。本地仓库保存修改的各个历史版本
  5. 修改完成后,需要共享代码时,将代码push到远程仓库

1.3 与SVN对比

​ SVN是集中式版本控制系统,版本库是集中放在中央服务器的,而开发人员工作的时候,用的都是自己的电脑,所以首先要从中央服务器下载最新的版本,然后开发,开发完后,需要把自己开发的代码提交到中央服务器。

SVN版本控制工具缺点:

  • 服务器单点故障
  • 容错性差

1.4 Git下载与安装

下载地址:https://git-scm.com/download,下载后一路下一步即可,成功后右键电脑桌面会有如下图标则表示安装成功。

在这里插入图片描述

2 Git托管服务

2.1 常用的Git代码托管服务

​ 常用的有GitHub、码云、Gitlab等。

GitHub:https://github.com/

码云:https://gitee.com/

GitLab:https://about.gitlab.com/

2.2 克隆项目到本地

​ 每个Git远程仓库都会对应一个网址,可以点击克隆/下载按钮弹出窗口并点击复制按钮获得这个网络地址。

在这里插入图片描述

3 Git常用命令

​ Git提供了很多命令完成相应的操作,常用的命令和概念如下:

  • 环境配置
  • 获取Git仓库
  • 工作目录、暂存区以及版本库概念
  • Git工作目录下文件的两种状态
  • 本地仓库操作
  • 远程仓库的使用
  • 分支
  • 标签

3.1 环境配置

# 设置用户信息
git config --global user.name "yinlu"
git config --global user.email "luyin@stumail.nwu.edu.cn"
# 查看配置信息
git config --list

​ 上面的命令设置信息会保存到C盘当前用户下面的.gitconfig文件中

3.2 获取Git仓库

​ 要使用Git对代码进行版本控制,首先需要获得Git仓库,获取Git仓库有两种方式:

  1. 在本地初始化一个Git仓库

    ​ 在电脑任意位置创建一个空目录作为我们的本地Git仓库,然后右键打开Git bash窗口,执行命令git init,执行完成后当前目录会出现一个.git的隐藏文件夹

  2. 从远程仓库克隆

    ​ 同样在需要创建的位置右键打开Git bash窗口,执行命令git clone 远程Git仓库地址

    在这里插入图片描述

3.3 工作目录、暂存区以及版本库概念

版本库:获取Git仓库后出现的.git隐藏文件夹就是版本库,版本库中存储了很多配置信息、日志信息和文件版本信息等。

工作目录:包含.git文件夹的目录就是工作目录,主要用于存放开发的代码。

暂存区:.git文件夹中有很多文件,其中有个index文件就是暂存区,也可以叫stage。暂存区是一个临时保存文件的地方。

命令操作:

git add 改变的文件:将工作目录的更改添加到暂存区。

git commit -m "改变的描述内容":将改变提交的版本库,也是本地仓库。

3.4 Git工作目录下文件的两种状态

​ Git工作目录下的文件存在两种状态:

untracked:未跟踪(未被纳入版本控制)

tracked:已跟踪(被纳入版本控制)

​ Unmodified:为修改状态

​ Modified:已修改状态

​ Staged:已暂存状态

具体命令操作:

git status:查看文件状态(简写形式:git status -s

git reset 改变的文件:将暂存区的文件取消暂存

git rm 删除文件:删除工作区的文件,要想彻底删除需要提交到本地仓库

3.5 本地仓库的操作

  • 将文件添加至忽略列表

一般我们总会有些文件无需纳入Git管理,也不希望它们总出现在未跟踪列表。在这种情况下可以在工作目录中创建一个名为.gitignore文件(文件名称固定),列出要忽略的文件模式。

注:windows下创建该文件需要在Git bash中以命令创建touch .gitignore

在这里插入图片描述

比如上面这个就是忽略所有的.class结尾的文件。

  • git log:查看日志记录

注:记录可能会显示不全,按回车键继续显示下面的记录,如不想查看了,按q键退出。

3.6 远程仓库操作

​ 远程仓库的操作具体包括如下:

  • 查看远程仓库
  • 添加远程仓库
  • 从远程仓库克隆
  • 移除无效的远程仓库
  • 从远程仓库中抓取与拉取
  • 推送到远程仓库
3.6.1 查看远程仓库

​ 如果想查看已经配置的远程仓库服务器,可以运行git remote命令。它会列出指定的每一个远程服务器的简写。如果已经克隆了远程仓库,那么至少应该能看到origin,这是Git克隆的仓库服务器的默认名字。

在这里插入图片描述

​ 如果想看到远程的服务器链接可以运行git remote -v或git remote show origin命令

在这里插入图片描述

3.6.2 添加远程仓库

​ 当我们自己在本例创建的Git仓库时,这时该仓库并没有和远程仓库具有对应关系,在该工作目录中运行git remote命令是没有提示的。我们就可以运行git remote add <shortname> <url> 添加一个新的远程Git仓库,同时制定一个引用的简写。

在这里插入图片描述

3.6.3 从远程仓库克隆

​ 如果想获得一份已经存在的Git仓库的拷贝,就需要用git clone命令。Git克隆的是该Git仓库服务器上的几乎所有数据,而不仅仅是复制工作所需的文件。克隆的命令是:git clone [url]

在这里插入图片描述

3.6.4 移除无效的远程仓库

​ 如果要移除一个远程仓库,可以使用git remote rm命令

在这里插入图片描述

注意:该命令只是从本地仓库移除远程仓库的记录,并不会影响远程仓库

3.6.5 从远程仓库中抓取与拉取

抓取(fetch):是从远程仓库获取最新版本到本地仓库,不会自动merge,需要进行如下操作

  1. git init初始化一个本地仓库
  2. git remote add origin https://gitee.com/xxx.repo.git添加一个远程仓库,简易名字命名为origin
  3. git fetch origin master抓取origin远程仓库的master分支(默认就是origin下的master,可以省略)
  4. git merge origin/master将抓取来的内容merge到本地仓库

拉取(pull):是从远程仓库获取最新版本并merge到本地仓库(相当于fetch+merge),即可将上面的3、4步合并成下面一句:

git pull origin master

注:如果当前本地仓库不是从远程克隆,而是本地创建的仓库,并且仓库中存在文件,此时再拉取会报错,需要在上述命令后面添加参数:–alow-unrelated-histories

3.6.6 推送到远程仓库

​ 当你想分享代码时,可将其推送到远程仓库。命令形式:git push [remote-name][branch-name]

在这里插入图片描述

3.7 分支

  • 查看分支

    git branch 列出所有本地分支

    git branch -r 列出所有远程分支

    git branch -a列出所有本地分支和远程分支

  • 创建分支

    git branch xxx 创建名为xxx的分支

在这里插入图片描述

  • 切换分支

    git checkout xxx 切换到xxx的分支

  • 推送至远程仓库分支

    git push origin b1 将本地仓库的b1分支推送到远程的b1分支(注:必须切换到该分支)

在这里插入图片描述

  • 合并分支

    git merge xxx 将xxx分支合并到当前分支

在这里插入图片描述

注:如果两个分支的相同文件都做了不同的修改,会提示文件冲突,git会自动进行添加过来,需要我们手动处理后重新提交后再合并

  • 删除分支

    git branch -d b1删除b1分支,如果要删除的分支有内容没有提交,则会删除失败,可以将d改为D进行强制删除

3.8 Git标签

​ Git可以给历史的某一个提交打上标签,以示重要。比较有代表性的是人们会使用这个功能来标记发布节点(v1.0、v1.2等)。标签指的是某个分支某个特定时间点的状态。通过标签,可以很方便的切换到标记时的状态。

常用命令:

  • 列出已有的标签

    git tag

  • 查看tag信息

    git show [tag]

  • 创建新标签

    git tag [tagName]

  • 提交指定tag,将标签推送至远程仓库

    git push [remote][tag]例:git push origin v0.3

  • 检出标签,新建一个分支,指向某个tag

    git checkout -b [branch][tag]例:git checkout -b b3 v0.3

  • 删除本地标签

    git tag -d [tag]

  • 删除远程标签tag

    git push origin :refs/tags/[tag]

4 使用TortoiseGit管理文件版本

​ TortoiseGit是一款开源的Git图形界面工具,使用tortoiseGit工具可以简化Git相关的操作(本质上还是执行的Git相关命令)下载地址:

https://tortoisegit.org/download/安装成功后在桌面右键鼠标,出现如下菜单则表示安装成功。

在这里插入图片描述

4.1 TortoiseGit常用操作

创建仓库

在这里插入图片描述

  • 相当于git init命令

克隆仓库

在这里插入图片描述

  • 相当于git clone https//gitee.com/ChuanZhiBoke/repo1.git

将文件添加到暂存区

在这里插入图片描述

  • 相当于git add web.xml或git add .命令

提交文件

在这里插入图片描述
在这里插入图片描述

  • 相当于git commit -m "init web.xml"命令

推送本地仓库至远程仓库

  • 相当于git push origin master

拉取代码

在这里插入图片描述

  • 相当于git pull origin master命令

创建分支

在这里插入图片描述

  • 相当于git branch b1

切换分支

在这里插入图片描述

  • 相当于git checkout b1命令

合并分支

在这里插入图片描述

  • 相当于git merge b1命令

5 在IDEA中使用Git

5.1 在IDEA中配置Git

安装好IntelliJ IDEA后,如果Git安装在默认路径下,那么idea会自动找到git的位置,如果更改了Git的安装位置则需要手动配置下Git的路径。

选择File→Settings打开设置窗口,找到Version Control下的git选项:

在这里插入图片描述

选择git的安装目录后可以点击“Test”按钮测试是否正确配置

在这里插入图片描述

5.2 在IDEA中使用Git

5.2.1在IDEA中创建工程并将工程添加至Git

在这里插入图片描述

​ 将项目添加至Git管理后,可以从IDEA的工具栏上看到Git操作的按钮

5.2.2 将文件添加到暂存区

在这里插入图片描述

5.2.3 提交文件

在这里插入图片描述

5.2.4 将代码推送到远程仓库

在这里插入图片描述

5.2.5 从远程仓库克隆工程到本地

在这里插入图片描述

5.2.6 从远程拉取代码

在这里插入图片描述

5.2.7 版本对比

在这里插入图片描述

5.2.8 创建分支

在这里插入图片描述

5.2.9 切换分支

在这里插入图片描述

5.2.10 分支合并

在这里插入图片描述

6 本地创建git上传到远程的流程

  • 在github上创建项目
  • 使用git clone https://xxxx.git克隆岛本地
  • 编辑项目
  • 添加到暂存区
  • 提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值