Git和GitHub的应用


title: Git与Github的应用 tags: Git,Github grammar_cjkRuby: true

(一) Git和GitHub的简单了解

1. Git 是什么node

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

2. Git和GitHub有何区别linux

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

(二) 快速入门

1. 安装Gitgit

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

enter description here

  • 咱们使用的是==Git bash==

enter description here

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

2. 使用流程程序员

  • 典型的流程以下:npm

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

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
相关文章
相关标签/搜索