0
点赞
收藏
分享

微信扫一扫

Git相关整理

_LEON_ 2022-02-18 阅读 55

一、学习Git之前,先要了解一个概念:版本控制

1.版本控制(revision control)是一种在开发过程中用于管理我们对文件、目录或工程的修改历史,方便查看更改历史记录,备份以便恢复以前的版本的软件工程技术。

简单来说就是用于管理多人协同开发的技术。

2.版本控制的分类

(1)本地版本控制:指在我们自己的电脑中保存着个人对版本的修改,并不与其他电脑产生联系。

(2)集中版本控制:指所有的版本都保存在公司服务器上,协同开发者需要从服务器上同步更新或上传自己的修改。如果不联网,协同开发者就看不到历史版本。(SVN是集中版本控制)

(3)分布式版本控制:指协同开发者个人电脑和公司服务器都保存着所有的版本。可以离线进行本地提交,只需在联网的时候push到相应的服务器。(Git是目前世界上最先进的分布式版本控制系统)

3.Git与SVN的主要区别

Git                                                                                                  SVN

--集中式版本控制系统                                                                --分布式版本控制系统

--没有中央服务器,每个人的电脑都是一个                                --版本库集中放在中央服务器中

  完整的版本库                                 

--工作的时候不需要联网                                                             --工作的时候需要先从中央服务器 

                                                                                                      下载版本

二、Git的安装和基本linux命令的使用

1.Git的安装:Git官网下载安装:https://git-scm.com

或淘宝镜像下载安装:https://registry.npmmirror.com/binary.html?path=git-for-windows/

安装成功之后会产生三个软件

Git Hash:与linux风格相似的命令行(最常用)

Git CMD:与windows风格相似的命令行

Git GUI:图形界面的Git

2.基本linux命令行的使用

(1)touch:新建一个文件,如touch index.js

(2)rm:删除一个文件,如rm ./index.js

(3)mkdir:新建一个文件夹,如mkdir test

(4)rm -r:删除一个文件夹,如rm -r test

(5)mv:移动文件,如将index.js文件移动到test文件夹 mv index.js test

(6)clear:清屏;reset:重新初始化终端/清屏

(7)history:查看命令历史

(8)exit:退出

三、Git配置

1.git config -l:获取当前Git的所有配置 (系统配置+个人配置)

 2.git config --system --list:获取当前Git的所有系统配置

 3.git config --global --list:获取用户自己的配置(登录需要的配置)


 

 Git配置都对应一个文件,在本地进行保存

git config --system --list:获取当前Git的所有系统配置,对应的文件保存在 Git/etc下的gitconfig文件

git config --global --list:获取用户自己的配置,对应的文件保存在 C/用户/用户名下的.gitconfig文件

配置用户信息

配置用户名:git config --global user.name "Mrdai"

配置邮箱:git config --global user.email "2502720644@qq.com"

这两个配置是必要的,保证后续登录的成功。

四、Git基本理论

Git本地有三个工作区域:工作目录、暂存区、资源库(本地仓库)。加上远程git仓库就分为四个工作区域。

工作区域的转换关系:

工作目录 ---git add---> 暂存区 ---git commit--->资源库 ---git push--->远程git仓库

远程git仓库---git pull---> 资源库 ---git reset --->暂存区 ---git checkout --->工作目录

五、Git项目搭建

1.方式一:使用 git init命令

2.方式二:克隆远程仓库 git clone url(如gitee或github上的克隆连接)

六、Git忽略文件

有些时候我们不想把某些文件纳入版本控制中,比如数据库文件、临时文件等。

这时需要在根目录下创建 .gitignore文件进行配置,常用配置规则如下:

(1) #为注释

(2) *.txt表示忽略所有以.txt结尾的文件

(3) !lib.txt表示lib.txt文件不被忽略

(4) /TODO表示仅忽略项目根目录下的TODO文件,不包括其他目录下的TODO文件

(5) /dist表示忽略dist目录下的所有文件

(6) doc/*.txt表示忽略doc目录下的所有.txt文件,但是不包括其他目录下的txt文件(如doc/xx/.txt文件)

七、注册登录gitee(码云)后设置ssh公钥

1.为什么要配置ssh公钥?

Git使用https协议,如果不设置ssh公钥,那么我们每次push的时候都会需要填写gitee密码(实测clone和pull方式连接远程仓库,push的时候并没有填写密码,哪里有问题还请指教。),这样比较麻烦,而且会有安全问题,所以设置ssh公钥是必要的。

2.设置方法

首先需要知道ssh公钥和私钥都是保存在C:\Users\25027\.ssh路径中。

 在任意位置打开终端,输入如下命令:ssh-keygen -t rsa ,然后一直回车即可。

 之后就会在 C/user/25027/.ssh路径看到生成的公钥和私钥 

 打开公钥,复制所有内容,将复制的内容,粘贴到gitee的填写公钥位置即可

 点击确定即可生成ssh公钥

 八、Git的相关操作和分支介绍

1.Git相关操作

git add .  表示将出现过变动的所有文件或新文件提交到暂存区。

git commit -m '提交描述信息'  表示将暂存区中的文件添加到本地仓库。

git push  表示将本地仓库中的文件提交到远程gitee仓库

git status  表示查看当前分支的状态

2.分支介绍

分支在协同开发中起到很重要的作用,因为不同分支上的内容互不干扰。

再比如说,需要向项目中添加一个新功能,一般的团队都不会直接在主分支(master)上修改,都会新建一个分支,在上面更改代码。这样做的好处就是保证主线代码的完整性和可用性,也就是说,主线上都是稳定的代码,可以直接拿来发布的。

基本分支操作

git branch  查看当前所处分支(也会展示所有分支)

git branch -r  查看远程仓库所有分支

git branch 分支名  在当前分支上创建一个新分支,依然停留在当前分支

git checkout -b 分支名  新建一个分支,并切换到当前分支

git checkout 分支名  切换分支

git merge 分支名  将分支名合并到当前分支

git branch -d 分支名  删除分支

git push -u origin 分支名  将新创建的分支提交到远程仓库(因为远程仓库并没有新创建的分支)

git push origin --delete 分支名  删除远程仓库分支

九、创建gitee仓库和向仓库中提交代码

1.创建gitee仓库

 创建成功

 2.向仓库中提交代码

向仓库中提交代码之前需要先将本地与远程gitee仓库相连

(1)方式一:clone

1.点击仓库的 克隆/下载 按钮复制连接,在项目文件夹中运行代码 git clone 连接

2.运行,获得gitee仓库文件

3.将test123文件夹中的代码复制到你的项目文件夹即可完成本地与远程gitee仓库的链接(如我将test123文件夹中的文件复制到test文件夹)

4.比如我们创建一个index.html文件,将此文件提交到仓库

 

 (2)方式二:初始化(init),然后连接远程gitee仓库

1.首先在一个新文件夹(如newTest)初始化git :git init

2.将本地代码库与远程gitee仓库(还是test123仓库)相关联 git remote add origin 连接

下载远程仓库文件(master分支) git pull --rebase origin master 需要下载哪条分支就可以用分支名代替master即可

如果push的时候报这种错误

 这是因为本地分支没有与远程分支建立联系

输入以下代码即可  git push --set-upstream origin master,表示与master分支建立联系。

如果在push的时候没有问题,说明已经将新分支提交到远程仓库

3.然后即可进行后续操作

举报

相关推荐

0 条评论