Git与Github的应用

(一) Git和GitHub的简单了解

1. Git 是什么

  • Git是目前世界上最先进的分布式版本控制系统

2. Git和GitHub有何区别

  • Git 是一款免费开源的分布式版本控制系统 — 工具
  • Github 是用Git做版本控制的代码托管平台 — 平台,就是一个网站
  • Github这个平台,底层是使用git工具来实现版本控制的。

(二) 快速入门

1. 安装Git

  • Git下载的官方网址
  • 安装的过程属于傻瓜式安装,一直下一步即可
  • 安装之后,会在右键菜单出现如下两个菜单项:Git guiGit bash

enter description here

  • 我们使用的是Git bash

enter description here

  • 整个bash窗口,除了可以执行git相关命令之外。它还可以作为cmd窗口来使用,可以执行任何在cmd窗口中可以执行的命令。比如 ipconfig 、 npm命令

2. 使用流程

  • 典型的流程如下:

    • 初始化一个Git仓库(git init
    • 设置用户名和邮箱
    • 添加文件到仓库(git add 文件名1 文件名2git add *
    • 提交 (git commit -m “说明文字”
    • 查看版本 (git log
    • 回退 (git reset --hard HEAD^/commit_id
  • (1). 初始化一个Git仓库
    在项目的工程下,使用右键中的git base here 调出控制台并使用git init命令来进行初始化(此项工作是在项目开发之前进行的)

enter description here

它会在当前目录下,创建一个.git的隐藏目录。如下:
enter description here

  • (2). 设置用户名和邮箱

只是在第一次使用git的时候,需要设置,以后就不需要设置了。

git config user.name 用户名
git config user.email 邮箱

  • (3). 添加文件到仓库

git add 文件名1 文件名2
git add * (添加所有的文件)

这个过程可以重复

  • (4). 提交
    如果你任务某一个完整的模块/功能已经实现了,可以将其做出一个版本。

使用:git commit -m 说明

enter description here

  • (5). 查看版本
    使用git log来查看版本的信息,如下:

enter description here

  • (6). 回退

有两种方式:

直接返回上一级 几个^就是返回几级
git reset --hard HEAD^
通过版本的id回到对应的版本位置
git reset --hard commit_id

(三).基本操作

1. git config
作用:就是对配置进行操作的
可以使用git config --list 查看所有的git配置项

enter description here

其中,在使用的过程,需要对用户名和邮箱进行配置。
git config user.name 用户名
git config user.email 邮箱

2.git init
作用:就是用于初始化版本仓库的。
使用的时候,可以有如下两种用法:

创建好目录,然后直接git init
直接git init 项目名称

一旦使用了git init命令,那么就会在项目目录下,创建一个.git的隐藏目录。
在linux操作系统中,以点开头的目录都是隐藏目录。

该目录是版本仓库,是git来维护的,用户不能在这个目录中做任何的操作

3.git status
作用:用于显示当前版本仓库的状态。在不同的阶段,显示的信息是不一样的。

初始时,如下:
enter description here

4.Git log
Log 是日志的意思。
作用:就是显示版本信息。

enter description here

5.git add
作用:将指定的工作区的文件,添加到版本仓库的暂存区。

命令的典型格式:git add 文件名1 文件名2 文件名n
如果一次性添加当前目录所有的,可以使用 git add *

注意:如果需要从暂存区中删除某个文件,可以使用 git rm --cached 文件名

6.git commit
作用:就是用于将暂存区中的所有文件提交到master分支上,做成一个版本。
格式:git commit -m 说明文字

enter description here

7.git reset
作用:就有用于进行回退。
可以使用git reset回退到任意版本。

用法有如下两种:

git reset --hard HEAD^
git reset --hard commitid
  • (1).git reset --hard HEAD^
  • 这种方式,只能回退到历史版本。

HEAD^:回退到当前版本的上一个历史版本
HEAD^^:回退到当前版本的上上一个历史版本
HEAD^^^:回退到当前版本的上上一个历史版本
HEAD~n:回退到当前版本的前第n个历史版本

  • (2).git reset --hard commitid

可以回退到任意版本,既包括历史版本,也包括未来版本。非常强大。
唯一需要拿到的就是commitid

enter description here

(四) 多人协作开发

1. 多人协助具体实现

典型的步骤如下:
创建一个git裸服务器 (git init --bare)
从裸服务器将版本库克隆至本地(git clone )
本地常规操作
推送版本至服务器 (git remote + git push origin master)
从远程服务器拉取版本(git pull)

(1).创建一个git裸服务器

  • 命令:git init --bare

创建如下:

enter description here

注意:git裸服务器中,整个目录都是版本仓库,没有工作区。也就意味着不能在git裸服务器的项目目录中编写代码。

(2).从裸服务器将版本库克隆至本地

  • 格式:git clone url
    enter description here

(3).推送版本至服务器

场景:甲的第一个版本已经完成了,但是它是在本地的,其他程序员是看不见的,也用不了。
所以,需要甲将本地的版本库,同步更新到git裸服务器,通常描述为推送版本。

需要使用如下两个命令:
git remote,获取git服务器的名称
git push origin master,推送

  • git remote,获取git服务器的名称

enter description here

  • git push origin master,推送

enter description here

(4).推送版本至服务
场景:同步更新,就是将当前开发人员的最新版本同步到服务端,会以当前开发人员的版本为准。(理解为覆盖)

为了确保,可以推送,每个开发人员在推送版本之前,必须要确保自己的版本是最新的版本。此时,可以从服务端拉取最新版本到本地,然后再推送。

git pull 命令拉取即可

小结:

在实际开发中,需要来回的进行pull和push。
需要注意一点:多个程序员不要同时去修改某一个文件,否则就会出现冲突。

(五) 分支

1.分支常见操作

主要有如下几个操作:
◆ 查看当前分支 (git branch)
◆ 创建分支 (git branch 分支名)
◆ 切换分支(git checkout 分支名)
◆ 分支上的常规操作
◆ 分支的合并 (git checkout master + git merge 分支名)
◆ 分支的删除(git branch -d 分支名

(1).查看当前分支

  • 命令:git branch

enter description here

(2).创建分支

  • 命令:git branch 分支名

enter description here

(3).切换分支

  • 命令: git checkout 分支名

enter description here

(4).分支的合并

  • 命令:git merge 分支名
    合并只能在master上进行的。

enter description here

(5).分支的删除

  • 命令:git branch -d 分支名
    这个通常是在master上进行的

enter description here

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值