1.Git了解

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

版本控制系统分为两类:集中式版本控制系统和分布式版本控制系统。(这里只介绍后者)

分布式版本控制系统:
分布式版本控制系统没有“中央服务器”,每个人的电脑上都是一个完整的版本库,这样工作的时候,无需联网,版本库就在你自己的电脑上。多人协作只需要各自的修改推送给对方,就能互相看到对方的修改。如图:

2.Git和GitHub

2.1 Git和Github的区别

Git是一个分布式版本控制系统,简单的说其就是一个软件,用于记录一个或若干文件内容变化,以便将来查阅特定版本修订情况的软件。长这样:

Github(GitHub: Let’s build from here · GitHub)是一个为用户提供Git服务的网站,简单说就是一个可以放代码的地方(不过可以放的当然不仅是代码)。Github除了提供管理Git的web界面外,还提供了订阅、关注、讨论组、在线编辑器等丰富的功能。

用户在Git中写代码包装后上传至GitHub网站上进行保存,同时可供多人共享。

2.2 GitHub的注册

打开Github官网:https://github.com/,点击右上角的“Sign up”按钮开始注册。

选择免费的账户类型:

之后会收到邮件,打开邮箱中收到的邮件,点击按钮进行验证:

Github帐号注册完毕。

3. Git安装

安装教程:Git手把手教你安装

4.Git的使用

4.1 本地仓库

4.1.1工作流程

Git本地操作有三个区域:工作区,暂存区,本地仓库

工作流程:

4.1.2本地仓库的操作

        首先我们要知道仓库是什么?仓库又名版本库,英文名repository,我们可以简单理解成是一个目录,用于存放代码的,这个目录里面的所有文件都可以被Git管理起来,每个文件的修改、删除等操作Git都能跟踪到。

①在安装好后首次使用需要先进行全局配置

桌面空白处右键,点击“Git Bash Here”以打开Git命令行窗口,输入自定义的用户名和邮箱(建议与GitHub上保持一致)

$ git config --global user.name "用户名"
$ git config --global user.email "邮箱地址"

使用上面两行代码设置自己的用户名和邮箱地址并查看是否设置成功,如图:

②创建仓库

当我们需要让Git去管理某个新项目/已存在项目的时候,就需要创建仓库了。创建仓库时使用的目录不一定要求是空目录,选择一个非空目录也是可以的,但是不建议在现有项目上来学习Git。

a.在桌面创建一个pro_git文件夹

b.在命令行中进入项目目录pro_git

c. Git仓库初始化(让Git知道,它需要来管理这个目录)

指令:git init

执行之后会在项目目录下创建“.git”的隐藏目录,这个目录是Git所创建的,不能删除,也不能随意更改其中的内容。

③Git常用指令操作

查看当前状态:git status 【非必要】

添加到缓存区:git add 文件名(重要)

//说明:git add指令,可以添加一个文件,也可以同时添加多个文件。

//语法1:git add 文件名

//语法2:git add 文件名1 文件名2 文件名3 …

//语法3:git add . 【添加当前目录到缓存区中】

提交至版本库:git commit -m “注释内容”(重要)

 在后续对于文件(可以操作1个或多个)操作之后,重复使用git add与git commit指令即可。

4.1.3版本回退

版本回退分为两步骤进行操作:

①查看版本,确定需要回到的时刻点

指令:git log

或者git log --pretty=oneline

②回退操作

指令:git reset --hard 提交编号

回到创建好第一个文件readme.txt的时候

若回到过去之后,要想再回到之前最新的版本的时候,则需要使用指令去查看历史操作,以得到最新的commit id。

小结:

a. 要想回到过去,必须先得到commit id,然后通过git reset –hard 进行回退;

b. 要想回到未来,需要使用git reflog进行历史操作查看,得到最新的commit id;

c. 在写回退指令的时候commit id可以不用写全,git自动识别,但是也不能写太少,至少需要写前4位字符;

5.远程仓库

5.1线上仓库的创建

打开创建仓库页面:https://github.com/new

填写信息(圈出的部分为必填项,其余根据实际需要选择性补充)仓库名要求在当前账号下唯一

5.2两种常规的使用方式

5.2.1基于http/https协议

a. 创建空目录,名称就称为shop

b. 使用clone指令克隆线上仓库到本地

语法:git clone 线上仓库地址

在GitHub中找到shop仓库的网址:

输入指令:

c. 在仓库上做对应的操作(提交暂存区、提交本地仓库、提交线上仓库、拉取线上仓库

提交到线上仓库的指令:git push

 

有可能在首次往线上仓库shop提交内容的时候出现403的致命错误,原因:未鉴权。

此时需要修改“.git/config”文件内容,在shop文件下找到.git文件,进入找到config文件:

#将 [remote "origin"] url=https:/github.com/用户名/仓库名.git 修改为: [remote "origin"] url=https:/用户名:密码@github.com/用户名/仓库名.git

在设置好用户名密码之后再次尝试push指令:

如果看到类似上述效果(没有fatal错误)则表示提交成功。

【进行验证】此时可以观察浏览器,刷新线上仓库的地址:

拉取线上仓库:git pull

提醒:在每天工作的第一件事就是先git pull拉取线上最新的版本;每天下班前要做的是git push,将本地代码提交到线上仓库。

5.2.2基于SSH协议(推荐)

若要使用ssh协议,需要先安装OpenSSH软件

整小结内容包括安装教程指路:

5.2.3分支管理

什么是分支管理?

分支管理

在版本回退的章节里,每次提交后都会有记录,Git把它们串成时间线,形成类似于时间轴的东西,这个时间轴就是一个分支,我们称之为master分支

在开发的时候往往是团队协作,多人进行开发,因此光有一个分支是无法满足多人同时开发的需求的,并且在分支上工作并不影响其他分支的正常使用,会更加安全,Git鼓励开发者使用分支去完成一些开发任务。

分支相关指令:

查看分支:git branch

创建分支:git branch 分支名

切换分支:git checkout 分支名

删除分支:git branch -d 分支名

合并分支:git merge 被合并的分支名

查看分支:

注意:“*”代表当前所在分支。

创建分支:

切换分支:

合并分支:

先在dev分支下的readme文件中新增一行并提交本地

切换到master分支下观察readme文件

 将dev分支的内容与master分支合并

删除分支:

注意:在删除分支的时候,一定要先退出要删除的分支,然后才能删除。

合并所有分支之后,需要将master分支提交线上远程仓库中:

Logo

魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。

更多推荐