1、Git介绍

开发中存在的麻烦

  • 代码备份很重要
  • 版本控制很重要
  • 协同工作很重要
  • 责任追溯很重要

    2、Git和SVN对比

    SVN是集中式版本控制系统,版本库是集中放在中央服务器的,而开发人员工作的时候,用的都是自己的电脑,
    所以首先要从中央服务器下载最新的版本,然后开发,开发完后,需要把自己开发的代码提交到中央服务器。
    服务器单点故障时:将会导致所有人员无法工作。
    Git是开源分布式版本控制工具
    分为两种类型的仓库:本地仓库和远程仓库。

    3、Git本地仓库

    Git本地仓库.png

    4、Git常用命令

  1. 创建工作目录,初始化本地git仓库:使用git init命令,在工作目录打开命令行
  2. 使用git status查看状态
  3. 使用git add 文件名.文件格式添加到暂存区
  4. 使用git commit,提交到本地历史仓库
  5. 使用git log命令查看日志

    5、历史版本切换

    查看log日志
    使用 git reflog: 可以查看所有分支的所有操作记录
    使用 git reset --hard 版本唯一索引值:切换到对应版本

    6、分支管理

    分支:由每次提交的代码,串成的一条时间线
    使用分支意味着你可以把你的工作从开发主线上分离开来,以免影响开发主线

    7、分支的工作流程

    分支流程.png
    创建新分支
    切换分支
    合并分支
    删除分支

    8、分支管理操作

    创建和切换
    创建命令:git branch 分支名
    切换命令:git checkout 分支名
    查看文件命令:ls
    查看分支列表:git branch
    合并分支:git merge 分支名
    删除分支:git branch -d 分支名
    总结,不同分支之间的关系是平行的关系,不会互相影响

    9、远程仓库工作流程

    远程仓库工作流程.png

    10、远程仓库平台

    1、创建远程仓库
    2、生成ssh公钥步骤:

  6. 设置Git账户

  7. 生成SSH公钥
  8. 设置账户公钥
  9. 公钥测试

3、命令
git config user.name 查看git账户
git config user.email 查看git邮箱
git config --global user.name "账户名"设置全局账户名和邮箱
git config --global user.email "邮箱"
cd ~/.ssh 查看是否生成过SSH公钥
ssh-keygen -t ed25519 -C "xxxxx@xxxxx.com"
注意:这里的 xxxxx@xxxxx.com 只是生成的 sshkey 的名称,并不约束或要求具体命名为某个邮箱。
image.png
cat ~/.ssh/id_ed25519.pub查看公钥
ssh -T git@gitee.com检查
若返回 Hi XXX! You’ve successfully authenticated, but Gitee.com does not provide shell access. 内容,则证明添加成功

11、推送到远程仓库

步骤
1.为远程仓库的URL(网址),自定义仓库名称
2.推送
命令
git remote add 远程名称 远程仓库URL
直接使用http推送就行 输入账户名和密码
ssh推送会遇到22端口错误。
git push -u 仓库名称 分支名

12、先有远程仓库,本地仓库为空

步骤:

  1. 将远程仓库的代码,克隆到本地仓库 克隆命令 : git clone 仓库地址
  2. 创建新文件,添加并提交到本地仓库
  3. 推送至远程仓库git push -u 仓库名称 分支名
  4. 项目拉取更新 : 拉取命令:git pull 远程仓库名 分支名

    13、代码冲突

    推送时遇到冲突,远程仓库不允许推送
    <<<<<<< 和 >>>>>>>中间的内容,就是冲突部分
    1、修改冲突,保存,即可解决冲突。
    2、重新add冲突文件并commit到本地仓库,重新push到远程

    14、IDEA中配置Git

    1、在IDEA中配置git
    image.png
    2、创建本地仓库
    在vcs里
    3、选择模块上一级目录
    4、image.png

    15、IDEA中本地版本切换

    1.image.png
    这样会丢失记录。
    2.image.png
    这样会重新提交一次回退操作,不会丢失之前的版本
    这样历史记录还保留提交记录。

    16、IDEA中分支管理

    image.png
    image.png
    切换分支
    image.png
    合并分支
    删除分支

    17、IDEA中对远程仓库进行操作

    push
    image.png
    clone
    image.png

    18、git 本地仓库用户作用域

    git config
    可以通过三个地方的三个文件设置git配置参数,分别代表三个不同的作用域:
    /etc/gitconfig」:作用域:一台计算机(操作系统)上的所有用户,几乎不会使用,「优先度低于」–global;设置方法:git config --system
    ~/.gitconfig」:作用域:计算机中的某用户创建的所有项目,常用,「优先度低于」–local;设置方法:git config --global
    .git/config」 :作用域:某一特定的版本库,不常用,「是最具体的,优先度最高」;设置方法:git config --local