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)里进行上述操作。

参考文献

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 218,451评论 6 506
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 93,172评论 3 394
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 164,782评论 0 354
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 58,709评论 1 294
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 67,733评论 6 392
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 51,578评论 1 305
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,320评论 3 418
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 39,241评论 0 276
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,686评论 1 314
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,878评论 3 336
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,992评论 1 348
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,715评论 5 346
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 41,336评论 3 330
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,912评论 0 22
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 33,040评论 1 270
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 48,173评论 3 370
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,947评论 2 355