当前位置:   article > 正文

Git入门教程

git入门

目录

Git

一、Git基础

1、Git介绍

2、Git与Github两者区别

3、Github注册

GitHub: Let’s build from here · GitHubGitHub is where over 100 million developers shape the future of software, together. Contribute to the open source community, manage your Git repositories, review code like a pro, track bugs and features, power your CI/CD and DevOps workflows, and secure code before you commit it.https://github.com/

4、Git安装Githttps://git-scm.com/​编辑

二、Git的使用

1.本地仓库

1.1工作流程

1.2本地仓库操作

2.远程仓库 

2.1、线上仓库创建

2.2、两种常规使用模式

2.2.1基于http协议

2.2.2、基于ssh协议(推荐)

 2.3、分支管理

三、Git实用技能

1、图形管理工具

2、忽略文件

3.**常用命令**


Git

一、Git基础


1、Git介绍

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

2、Git与Github两者区别


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

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

3、Github注册

GitHub: Let’s build from here · GitHubGitHub is where over 100 million developers shape the future of software, together. Contribute to the open source community, manage your Git repositories, review code like a pro, track bugs and features, power your CI/CD and DevOps workflows, and secure code before you commit it.https://github.com/

打开Github官网,点击右上角的“Sign up”按钮。

4、Git安装
Githttps://git-scm.com/

选择适配你的电脑的安装包 

建议保持默认,选择好安装路径后只需要一直点击下一步即可完成。

桌面空白处右键后点击Git Bash Here,输入 git -- version 检查是安装否安装成功

二、Git的使用

1.本地仓库

1.1工作流程

Git本地操作的三个区域:

 工作流程:

主要涉及到四个关键点:

  1. 工作区:本地电脑存放项目文件的地方,比如learnGitProject文件夹;
  2. 暂存区(Index/Stage):在使用git管理项目文件的时候,其本地的项目文件会多出一个.git的文件夹,将这个.git文件夹称之为版本库。其中.git文件夹中包含了两个部分,一个是暂存区(Index或者Stage),顾名思义就是暂时存放文件的地方,通常使用add命令将工作区的文件添加到暂存区里;
  3. 本地仓库:.git文件夹里还包括git自动创建的master分支,并且将HEAD指针指向master分支。使用commit命令可以将暂存区中的文件添加到本地仓库中;
  4. 远程仓库:不是在本地仓库中,项目代码在远程git服务器上,比如项目放在github上,就是一个远程仓库,通常使用clone命令将远程仓库拷贝到本地仓库中,开发后推送到远程仓库中即可;
1.2本地仓库操作

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

①在安装好后首次使用需要先进行全局配置
桌面空白处右键,点击“Git Bash Here”以打开Git命令行窗口

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

用户名与邮箱地址建议与github上一致

②创建仓库
当我们需要让Git去管理某个新项目/已存在项目的时候,就需要创建仓库了。注意,创建仓库时使用的目录不一定要求是空目录,选择一个非空目录也是可以的,但是不建议在现有项目上来学习Git,否则造成的一切后果概不负责!

注意:为了避免在学习或使用过程中出现各种奇葩问题,请不要使用包含中文的目录名(父目录亦是如此)。
a. 创建空目录—或者手动创建文件夹,并进入该目录

b. Git仓库初始化(git init)

表现:执行之后会在项目目录下创建“.git”的隐藏目录,这个目录是Git所创建的,不能删除,也不能随意更改其中的内容。
拓展:
③Git常用指令操作

查看当前状态:git status 
添加到缓存区:git add 文件名1 文件名2 文件名3......        
git add.        (添加当前目录至缓存区)
提交至版本库:git commit -m “注释内容”
在后续对于文件(可以操作1个或多个)操作之后,重复使用git add与git commit指令即可。

 

2.远程仓库 

 线上仓库以github为例

2.1、线上仓库创建


打开创建仓库页面:Sign in to GitHub · GitHubGitHub is where people build software. More than 100 million people use GitHub to discover, fork, and contribute to over 330 million projects.https://github.com/new

 注意:仓库名要求在当前帐号下唯一。

2.2、两种常规使用模式
2.2.1基于http协议

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

 

b.使用clone指令克隆线上仓库到本地
语法:git clone 线上仓库地址

 

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

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


输入add,commit,push指令后会让你授权

 提交成功则如下图所示

 

 拉取线上仓库的地址:git pull

注:上班时pull到本地,下班时push到线上,很方便

2.2.2、基于ssh协议(推荐)


该方式与前面https方式相比,只是影响github对于用户的身份鉴权方式,对于git的具体操作(如提交本地、添加注释、提交远程等操作)没有任何影响。

生成公私玥对指令(需先自行安装OpenSSH):ssh-keygen -t rsa -C “注册邮箱”
步骤:
        ①生成客户端公私玥文件
        ②将公钥上传到Github

Windows Server 2019、Windows 10、Windows Server 2022可以直接使用Windows设置安装来安装OpenSSH,可直接参考微软官网中OpenSSH管理Windows进行安装和学习。其他版本的Windows则需要对应版本下载OpenSSH-Winxx进行安装。

①打开提示

②创建公私玥对文件,一直回车即可

 ③上传公钥文件内容(id_rsa.pub)

 

填写完毕之后保存即可。

通过该命令查询是否成功:ssh -T git@github.com


④执行后续git操作,操作与先前一样
a. clone线上仓库到本地(git clone)

b. 修改文件后添加缓存区、提交本地仓库、提交线上仓库

在push的时候并没有提示要求我们输入帐号密码,因为公私玥已经实现了用户身份鉴权。

线上仓库的效果:
在这里插入图片描述

 2.3、分支管理


什么是分支?

在版本回退的章节里,每次提交后都会有记录,Git把它们串成时间线,形成类似于时间轴的东西,这个时间轴就是一个分支,我们称之为master分支。
在开发的时候往往是团队协作,多人进行开发,因此光有一个分支是无法满足多人同时开发的需求的,并且在分支上工作并不影响其他分支的正常使用,会更加安全,Git鼓励开发者使用分支去完成一些开发任务。

分支相关指令:
查看分支:git branch
创建分支:git branch 分支名
切换分支:git checkout 分支名 

创建并切换分支:git checkout -b 分支名
删除分支:git branch -d 分支名
合并分支:git merge 被合并的分支名


查看分支:

注意:当前分支前面有个标记“*”。
创建分支:
 
切换分支:

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

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

将dev分支的内容与master分支合并:
 删除分支:

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

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

三、Git实用技能


1、图形管理工具


①Github for Desktop

Github出品的软件,功能完善,使用方便。对于经常使用GitHub的开发人员来说是非常便捷的工具。界面干净,用起来非常顺手,顶部的分支时间线非常绚丽。 

②Source tree

老牌的Git GUI管理工具了,也号称是最好用的Git GUI工具。功能丰富,基本操作和高级操作都非常流畅,适合初学者上手。

③TortoiseGit

对于熟悉SVN的开发人员来说,这个小乌龟图标应该是非常友善了。TortoiseGit 简称 tgit, 中文名海龟Git。它与其前辈TortoiseSVN都是非常优秀的开源版本控制客户端软件

2、忽略文件


场景:在项目目录下有很多万年不变的文件目录,例如css、js、images等,或者还有一些目录即便有改动,我们也不想让其提交到远程仓库的文档,此时我们可以使用“忽略文件”机制来实现需求。

忽略文件需要新建一个名为.gitignore的文件,该文件用于声明忽略文件或不忽略文件的规则,规则对当前目录及其子目录生效。
注意:该文件因为没有文件名,没办法直接在windows目录下直接创建,可以通过命令行Git Bash来touch创建。

常见规则写法有如下几种:

1)/mtk/               过滤整个文件夹
2)*.zip                过滤所有.zip文件
3)/mtk/do.c           过滤某个具体文件
4) !index.php               不过滤具体某个文件    

案例:
①先在本地仓库中新建一个js目录以及目录中js文件


②依次提交本地与线上

 

 
③新增.gitignore文件

 
④编写文件中的规则(根据需要编写)


⑤再次提交本地与线上

观察线上仓库js目录中是否有新增index.js文件:


3.**常用命令**

1.git clone // 到本地
2.git checkout -b xxx 切换至新分支xxx
(相当于复制了remote的仓库到本地的xxx分支上
3.修改或者添加本地代码(部署在硬盘的源文件上)
4.git diff 查看自己对代码做出的改变
5.git add 上传更新后的代码至暂存区
6.git commit 可以将暂存区里更新后的代码更新到本地git
7.git push origin xxx 将本地的xxxgit分支上传至github上的git
--------------------------------------------------------------------------------------------
(如果在写自己的代码过程中发现远端GitHub上代码出现改变)
1.git checkout main 切换回main分支
2.git pull origin master(main) 将远端修改过的代码再更新到本地
3.git checkout xxx 回到xxx分支
4.git rebase main 我在xxx分支上,先把main移过来,然后根据我的commit来修改成新的内容
(中途可能会出现,rebase conflict -----》手动选择保留哪段代码)
5.git push -f origin xxx 把rebase后并且更新过的代码再push到远端github上
(-f ---》强行)
6.原项目主人采用pull request 中的 squash and merge 合并所有不同的commit
----------------------------------------------------------------------------------------------
远端完成更新后
1.git branch -d xxx 删除本地的git分支
2.git pull origin master 再把远端的最新代码拉至本地

声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:【wpsshop博客】
推荐阅读
相关标签
  

闽ICP备14008679号