前言

  • 目前国内开发人员普遍都开始使用 Git 进行项目的版本管理

课程大纲

(1)Git 介绍,Git 作用,Git 工作流程
(2)Windows 环境和 Linux 环境下安装 Git
(3)码云常用操作
(4)Git 常用命令操作
(5)Git 分支命令操作

Git 简介

  • Git 的创始人同时也是 Linux 的创始人 Linus。Linus 早期在维护 Liunx 代码一直是人肉合并代码。后期开始采用了分布式版本控制系统 BitKeeper 来进行维护。然而 BitKeeper 由于考虑商业的原因,不再免费提供给 Linux 使用,后来 Linus 就自己开发一个。于是乎就有了后来的 Git。

Git 的作用

  • Git 的作用分为 3 块:
    ①管理项目的版本
    ②多人协同开发一个项目
    ③分布式保存项目
  • Git 可以没有中央仓库服务器,每个开发人员都有一个完整的仓库,在开发完毕后在进行互相 push。当然对于多个人的团队开发 Git也是有远程仓库方便开发人员快速修改合并代码的。

Git 的工作流程

  • Git 的工作区域有 4 个,分别是:
    ①远程仓库
    ②本地仓库
    ③工作区
    ④暂存区
  • 执行操作如下:
  • 首先我们先从远程仓库克隆(clone)到本地仓库,然后在工作区中添加或者修改文件。
  • 提交文件到本地仓库,我们需要先通过 add 命令将文件放入暂存区中,然后在通过 commit 命令将文件放入到本地仓库中。
  • 我们通过 push 命令将文件从本地仓库推送到远程仓库中。
  • 更新别人提交的代码需要我们通过 pull 命令将代码更新到工作区。
    在这里插入图片描述

Windows 和 Linux 环境下安装 Git

  • 访问 Git 官网下载 Windows 安装包:
    在这里插入图片描述
    免安装板如下图:
    在这里插入图片描述
    安装版如下图:
    在这里插入图片描述
    建议下载安装版,进行傻瓜式地“下一步”即可。安装成功后点击桌面鼠标右击显示 2 个 Git 菜单表示安装成功。如下图:
    在这里插入图片描述

本地代码上传码云仓库

  • 一、使用码云的三大理由
    1.码云是国内的
    2.码云是中文的
    3.GitHub和码云在功能上基本没啥区别,而且GitHub的项目私有是收费的,码云是免费的
  • 二、使用码云上传你的项目
    1.首先我们得去官网:http://git.oschina.net/ 注册一个账号
    在这里插入图片描述
    在这里插入图片描述
    2、在码云新建仓库
    在这里插入图片描述
    3、右键项目文件夹,使用Git Base Here 打开项目
    在这里插入图片描述
  • 打开以后输入:
git config --global user.name "你的名字"
git config --global user.email "*****@***.com"
  • 获取密钥
    -在Git Bash中输入,邮箱为注册码云时的邮箱
ssh-keygen -t rsa -C "xxxxx@xxxxx.com"
  • 啥都不写,连敲回车键三次,然后输入:
cat ~/.ssh/id_rsa.pub

即可查看你的公钥了(注:如按本文操作,那么公钥等信息会自动保存在C:\Users****.ssh目录中)示例如下:(图片来自码云官网)
在这里插入图片描述
.

  • 链接云端
    在这里插入图片描述
    在码云主页设置管理公钥,输入公钥标题,将Git Bash中生成的公钥填入,确认。

  • 本地确认回执
    在这里插入图片描述
    输入yes,本地和云端就链接完毕了。在Git Bash中输入exit退出,建议使用此方法退出,不要直接点×,避免意外(程序无价啊 -。-)

  • 【代码部署】
    1、进入项目文件夹cd
    2、查看改动文件 git status
    3、将改动文件添加到git缓存区—git add .
    4、将缓存区文件上传并命名—git commit -m”命名”
    在这里插入图片描述
    5、部署代码到线上git push(上传至码云)

  • 【分支管理】
    1、创建分支
    在这里插入图片描述
    2、拉取远程线上分支到本地git pull
    在这里插入图片描述
    3、切换分支git checkout 分支名
    在这里插入图片描述
    4、进行开发
    5、开发完毕后提交代码–步骤类似于代码部署步骤

  • 【分支合并】
    1、切换回主分支git checkout master
    2、代码分支合并git merge origin/分支名—合并到本地主分支
    在这里插入图片描述
    3、把本地主分支提交—线上主分支

  • 最后附上一些经常会用到的Git命令:
    git status 查询repo的状态.
    git reset --hard FETCH_HEAD 解决git强退导致分支未合并的问题
    git remote -v 查看当前项目的remote名及地址
    git config --global user.email “邮箱名”:绑定GitHub邮箱
    git config --global user.name “Github名”:绑定GitHub
    git init:初始化一个空的git仓库
    git status:检查仓库中的文件状态
    git add:添加文件到暂存区
    git commit -m “备注信息”:提交到版本库并记录提交信息
    git log:查看git日志
    git log --pretty=oneline:简化日志信息
    git log --graph --pretty=oneline --abbrev-commit 查看日志信息(暂时不知跟上面有什么区别)
    git checkout – 文件名:撤销对本地文件的更改(未add时)
    git reset HEAD 文件名:撤销对暂存区的修改(add后)(相当于撤销add操作)
    git reset --hard HEAD^:回退版本信息
    (HEAD^:一个版本 HEAD~50 五十个版本)
    git reset --hard 标识符:恢复到标识符版本
    git rm 文件名:删除仓库中的文件
    git clone GitHub仓库地址:将远程的仓库下载到本地
    git push origin master:将本地仓库的内容与远程仓库同步 推过去
    git pull origin master:拉取远程仓库的代码到本地,使本地与远程仓库的代码同步 拉过来
    git remote add origin 仓库地址:将本地仓库同步(连接)到远程仓库
    git push -u origin master:将本地仓库的内容推送到远程仓库中
    (-u参数,Git会把本地的master分支与远程的master分支关联起来)
    git branch 分支名:创建新分支
    git checkout 分支名:切换到分支
    git checkout -b 分支名:创建并切换分支
    git branch:查看分支
    git branch -D(d高版本小写也可以) 分支名:删除分支
    git push origin本地分支名:远程分支名:将分支推送到远程仓库
    (如果没有冒号那么本地分支名将会与远程分支名相同)

完毕。有问题留言小编…

Logo

开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!

更多推荐