Git与GitHub的初步了解及操作

目录

  • Git基本介绍
  • GitHub基本介绍
  • Git基本操作
  • 总结
  • 参考文献

Git基本介绍

Git是一个开源的分布式版本控制系统,可以有效地进行项目版本的管理。简单来说Git类似于代码文件的日志,记录文件内容的变化。

早期的集中式版本控制系统,都有一个单一的集中管理的服务器,保存所有文件的修订版本,而协同工作的人们都通过客户端连到这台服务器,取出最新的文件或者提交更新。

Git工作原理

在分布式版本控制系统里,客户端并不只提取最新版本的文件快照,而是把代码仓库完整地镜像下来。

这么一来,任何一处协同工作用的服务器发生故障,事后都可以用任何一个镜像出来的本地仓库恢复。因为每一次的提取操作,实际上都是一次对代码仓库的完整备份。

本地机拷贝服务器所有版本文件

Git的工作流如下图


Git工作流

远程服务器端(Remote)存储项目所有文件,可将文件全部拷贝至本地仓库(Repository),本地工作区(workspace)从仓库获取文件进行文件编辑。在本地工作区添加的文件内容(index)提交至仓库,最终在提交到远程服务器。为了避免两个程序员同时修改同一个文件导致冲突,本地工作区可以直接获得远程服务器代码(即pull的过程)。

GitHub基本介绍

GitHub是在线的基于Git的代码托管服务,可以存放、管理和分享自己的代码。

下图为GitHub主界面


GitHub主界面

Git基本操作

一.GitHub创建仓库
在new repository里创建仓库,创建的仓库会生成一个地址。

创建仓库01

创建仓库02
创建仓库03

二.Git具体操作
1.首先下载Git

Git下载

2.Git操作
Git的基本操作有:clone(克隆)、add(添加)、commit(提交)、push(推送)、pull(拉取)、checkout(检出)
(1)右键并打开Git命令行

git操作01:打开Git命令行

(2) 配置用户名和邮箱

git操作02:配置用户名和邮箱

注意:(引号内请输入自己设置的名字,和你自己的邮箱)此用户名和邮箱是git提交代码时用来显示身份和联系方式的,并不是github用户名和邮箱。

(3)使用git clone克隆远程仓库
将GitHub上的代码仓库克隆

git操作03:克隆远程仓库(1)

桌面上显示克隆好的仓库
git操作03:克隆远程仓库(2)

(4)使用git add 添加索引
这里使用vscode写一个index.js文件

该文件(index.js)处于未跟踪状态(untracked)。未跟踪状态的文件是无法提交的
使用git add index.js,使其变成已跟踪状态(tracked)。
这里涉及到Git文件的状态可能不清楚,可以阅读文章git commit -m与-am的区别,其中有详细解释。

注意:路径要在仓库,如果在桌面会显示找不到仓库


git操作04:添加索引(失败)

进入仓库的路径


git操作04:添加索引(1)

添加文件索引
git操作04:添加索引(2)

(5)使用git commit提交文件
输入命令git commit -m 'add index.js',将文件提交至暂存区(暂存区可以理解为本地仓库)

git操作05:提交文件

(6)使用git push推送文件至远程仓库
输入命令git push将文件推送至远程仓库(GitHub),执行命令后会弹出GitHub登录窗口,输入用户名和密码登录即可。

git操作06:推送文件至远程仓库
GitHub登录窗口
成功推送文件至远程仓库

在GitHub中查看仓库


GitHub仓库

(7)使用git pull更新仓库数据
由于一个项目常常由多个人同时进行修改操作,所以要更新本地仓库的数据,即将远程仓库最新的更新数据拉取到本地工作区。

举个例子
首先,在GitHub中直接修改index.js文件(原本的index.js文件是空的),记得提交


文件修改

然后在命令行窗口输入git pull


git操作07:文件更新

接着查看工作区,已经显示更新


vscode工作区

这里说明一下clone和pull的区别
clone 是本地没有 repository 时,将远程 repository 整个下载过来。
pull 是本地有 repository 时,将远程 repository 里新的 commit 数据(如有的话)下载过来,并且与本地代码merge。

(8)使用git checkout检出文件
git checkout命令主要有两个功能:切换分支恢复文件

  • 切换分支
    使用git branch查看当前分支
    目前有两个分支,当前分支为master
查看可用分支

使用git checkout切换分支


git操作08:切换分支
  • 恢复文件
    将index.js文件删除
删除文件
工作区文件已被删除

使用git checkout恢复文件


git操作09:恢复文件
删除的文件被恢复

(9)在vscode中对文件进行git操作

在vscode中进入源代码管理


源代码管理

字母表示文件状态,当前index.html文件的文件状态显示“U”,表示未跟踪(Untracked)


当前文件状态:未跟踪

点击“+”,表示添加索引(相当于git add操作)


添加索引

文件状态变为已跟踪
当前文件状态

点击“√”提交文件(相当于git commit操作)

文件提交

总结

这篇文章介绍了Git、GitHub以及Git的操作

  • Git
    Git是一个开源的分布式版本控制系统,可以有效地进行项目版本的管理。
  • GitHub
    GitHub是在线的基于Git的代码托管服务,可以存放、管理和分享自己的代码。
  • Git基本操作
    Git的基本操作有:clone(克隆)、add(添加)、commit(提交)、push(推送)、pull(拉取)、checkout(检出)。可以在Git命令窗口或代码编辑器(vscode)里进行上述操作。

参考文献

  • Git、GitHub和GitLab的区别

  • git commit -m与-am的区别

  • Git分支管理

你可能感兴趣的:(Git与GitHub的初步了解及操作)