git详解

一、git历史

二、版本管理形式

集中式 vs 分布式
在这里插入图片描述

三、安装

1. 安装步骤

(略)

2. 验证

  1. 屏幕任何地方右键出现如下菜单下则安装成功
    在这里插入图片描述

  2. 点击Git Bash Here,查看版本
    在这里插入图片描述

  3. 配置用户及邮件信息

    git config --global user.name "Your Name"
    git config --global user.email "email@example.com"
    

四、版本库

版本库又名仓库,英文名repository

可以简单理解成一个目录,这个目录里面的所有文件都可以被Git管理起来,每个文件的修改、删除,Git都能跟踪,以便任何时刻都可以追踪历史,或者在将来某个时刻可以“还原”。

1. 创建版本库

选择要做版本管理的目录,然后执行命令

$ git init

如果你使用Windows系统,为了避免遇到各种莫名其妙的问题,请确保目录名(包括父目录)不包含中文。

执行命令后,当前目录下多了一个.git的目录,这个目录是Git来跟踪管理版本库的,没事千万不要手动修改这个目录里面的文件,不然改乱了,就把Git仓库给破坏了。

如果你没有看到.git目录,那是因为这个目录默认是隐藏的,用ls -ah命令就可以看见。

2. 将文件添加到版本库

git add <file>
git commit -m <message>

git add 实际上就是把文件修改添加到暂存区

git commit 实际上就是把暂存区的所有内容提交到当前分支

简单理解为需要提交的文件修改通通放到暂存区,然后,一次性提交暂存区的所有修改。创建Git版本库时,Git自动为我们创建了唯一一个master分支,所以,现在,git commit就是往master分支上提交更改。

3. 关于git的三层结构

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

五、基本操作

1. 查看状态

查看状态

git status

查看修改内容

git diff

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-DGrYQLu2-1649415533597)(D:/%E7%BC%96%E7%A0%81/git%E7%AC%94%E8%AE%B0/git/assets/1544105771130.png)]

2. 版本回退

  1. 查看提交日志

    git log --pretty=oneline
    
  2. 回退到上一个版本

    git reset --hard HEAD^
    
  3. 回退到指定版本,版本号没必要写全,前4位就可以了

    git reset --hard <版本号>
    
  4. 查看命令历史

    git reflog
    

3. 管理修改

  1. 查看工作区和版本库里面最新版本的区别

    git diff HEAD -- <文件名>
    

4. 撤销修改

git checkout -- <文件名>

5. 删除文件

git rm <文件名>
git commit

如果误删,可以使用git checkout撤销 (场景补充)

六、 远程仓库

自行注册github或码云

1. 创建SSH Key

输入如下命令,然后一路回车

ssh-keygen -t rsa -C "youremail@example.com"

在这里插入图片描述

2. 上传公钥

在这里插入图片描述

3. 创建项目

(码云上“项目”二字已更新为“仓库”)

在这里插入图片描述

4. 关联远程库

git remote add origin https://gitee.com/green_vegetables/mi.git

5. 拉取项目

第一次上传有可能会遇到push失败的情况,远程库上有一个README.md 文件没有下载下来 ,我们得先拉取

git pull --rebase origin master

6. 推送到远程库

git push -u origin master   # 第一次加-u参数,以后不需要

-f 表示强制覆盖远程库,不要轻易使用

推送前先确保本地版本和远程一致,如不一致,先pull

7. 克隆远程库

git clone https://gitee.com/green_vegetables/mi.git

8. 成员管理

在这里插入图片描述

七、分支管理

1. 创建与合并分支

  1. 创建分支

    git branch dev
    
  2. 切换分支

    git checkout dev
    
    # 前两条命令可以合并成一条
    git checkout -b dev     # -b参数表示创建并切换
    
  3. 查看分支

    git branch   # 列出所有分支,当前分支前面会标一个*号
    
  4. 然后,我们就可以在dev分支上正常提交

在这里插入图片描述

  1. 合并分支

    git merge dev
    
  2. 删除分支

    git branch -d dev
    

    Git鼓励你使用分支完成某个任务,合并后再删掉分支,这和直接在master分支上工作效果是一样的,但过程更安全

八、命令总结

命令说明
git config --global user.name “Your Name”配置用户名
git config --global user.email “email@example.com”配置邮箱
git init初始化一个Git仓库
git add <file>添加文件
git commit -m <message>提交文件
git status查看工作区的状态
git diff查看修改内容
git reset --hard commit_id版本回退
git log查看提交历史
git reflog查看命令历史
git checkout – file撤销修改
git rm <file>删除文件
ssh-keygen -t rsa -C “youremail@example.com”创建SSH Key
git remote add origin git@server-name:path/repo-name.git关联一个远程库
git push -u origin master第一次推送master分支的所有内容
git push origin master推送最新修改
git clone git@server-name:path/repo-name.git克隆远程仓库
git branch查看分支
git branch <name>创建分支
git checkout <name>切换分支
git checkout -b <name>创建+切换分支
git merge <name>合并某分支到当前分支
git branch -d <name>删除分支
git log --graph查看分支合并图
git remote -v查看远程库信息
git pull拉取远程库
git tag <tagname>新建一个标签
git tag -a <tagname> -m “blablabla…”指定标签信息
git tag查看所有标签
git push origin <tagname>推送一个本地标签
git push origin --tags推送全部未推送过的本地标签
git tag -d <tagname>删除一个本地标签
git push origin :refs/tags/<tagname>删除一个远程标签

九、其它

1. Eclipse关联远程库

在这里插入图片描述

2. 在Eclipse中导入远程git项目

https://blog.csdn.net/m0_37613503/article/details/87985291

在这里插入图片描述

最后,最最关键的一步,把项目转换成maven项目(如果是其它类型根据需要选择)

在这里插入图片描述

2. Eclipse分支合并流程

以master、dev分支为例

  1. 在dev分支新增或修改文件
  2. 在dev分支commit新增或修改的文件
  3. 切换到master分支
  4. merge,注意要选择本地库或远程库待合并的dev版本
  5. 如果有版本冲突,手动处理后add to index
  6. 在master分支commit刚刚合并分支后的代码

问题

  1. git push推送失败

在这里插入图片描述

解决:

  1. git pull
  2. 手工处理冲突内容
  3. git add .
  4. git commit -i . -m “解决冲突” ,这里-i是关键,不加会报错:fatal: cannot do a partial commit during a merge
  5. git push
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值