百度360必应搜狗淘宝本站头条
当前位置:网站首页 > IT技术 > 正文

手把手带你入门github

wptr33 2025-05-26 19:22 32 浏览

原文链接:
https://blog.csdn.net/weixin_42083008/article/details/109574502

前言

github是一个面向开源及私有软件项目的托管平台,什么叫面向开源呢?说白了就是把代码共享,微软以前并不秉持着开源的态度,企图以windows占有率坐拥江山,可惜开源共享的大势谁都不能阻挡,哪怕是微软帝国。这不,斥资把这个国际知名代码托管平台github给收购了。

那有的同学会说,它有什么用啊,我也不需要把我的代码托管给保管呀。github除了叫代码托管平台,还有一个名字叫版本控制系统(类似的版本控制系统还有TFS、SVN等)。所谓版本控制,就是说一个成品东西有多个版本,比如写小说时,写到某一章,会有多高,在你发布之前这些稿都可能用到。而代码也是一样,在项目开发过程中,项目代码会有多个历史版本,开发人员可以回到任意版本(过去的节点)。比如开发人员小明,今天下班前提交了一下代码,第二天电脑硬盘被烧,数据全部丢失,那他就可以去服务器上找到历史最近提交的一次版本,并将代码拷贝下来。

本地代码备份到github仓库

好了,前面说的,假如公司项目代码就放在一台电脑上,哪天这台电脑嗝屁了,那就gg了。当然你可以把它再拷贝几份到其他电脑上,但是拷贝来拷贝去,一改动都要拷贝不是很麻烦吗?而且你也不能保证万一哪天都嗝屁了呢(#^.^#)。所以一般公司都有自己的服务器,项目一般是建在服务器上。我是平常自己玩,把代码放在服务器(我用的是http://github.com)上,这样子,在家,在公司都能随时更改代码并提交到github上,是不是很方便呢?

首先你得有一个github的账号,去github的官网:https://github.com/

到sign up 上面按步骤将你的昵称、邮箱、密码填上,并注册,之后登陆。

之后新建一个仓库(git的仓库就相当于你一个项目的储存空间)。如下图所示

进入你的仓库

点击绿色new按钮

建完之后如下图所示,里面什么都没有,是空的。下面有提示让我们create一些什么东西

注:到此为止,你相当于在远程服务器(这里是github)上面建了一个仓库(一个代码项目对应着一个仓库),之后需要我们把我们本地的代码和东西上传到github上对应的仓库上备份一份

现在,就需要去安装git工具啦

打开git的下载地址:https://git-scm.com/

点击这里下载,它会自动检测你的系统环境

安装完之后检测一下安装情况 ---cmd命令行(我这里只讲windows环境,其他环境大同小异)-----------win+r 回车

输入git --version (git的版本)

这个工具的命令都是以git开头,就像dotnet core 一样,所有命令以dotnet开头

ok,现在在你的电脑上git工具已经安装好了,(这一步相当于在本地安装了他git的应用,这个应用是我们用来连接服务器(github)的桥梁)

下面开始演示如何将项目上传到我们之前在github上建的仓库

首先进入你项目所在文件夹的根目录,右键 git bash here

进入到git的界面

在其他类似有命令行的地方也可以使用,比如vs code的终端,vs 的nuget 输出窗口,都是可以使用命令的

首先,我们需要初始化一下本地仓库,输入命令 git init

这条命令是把你本地的仓库给建立起来了,就是把你的项目文件给给他git的仓库标识一下,实际上就是在你的目录下建立了一个.git的文件 (没有找到的同学可以去把隐藏文件给打开)

第二步:将本地仓库和远程仓库对应起来

命令:git remote add origin huguangcheng/git-

git remote add 远程仓库名(可以自己定义,默认是origin,初学不要乱改,以免混淆) 远程仓库地址(在这里我填的是我之前建的仓库的地址)

远程仓库的地址,我们回到github的官网,到你的仓库里新建的仓库去:

把这个地址复制,就是你远程仓库的地址

命令回车之后,git就知道你本地这个项目仓库对应的就是github上的那个仓库了

第三步:上传项目或者代码到远程仓库

上传到服务器需要三步曲:

  1. git add . -------------添加所有的文件到缓存区
  2. git commit -m "备注" ------------将缓存区的所有改动都给提交到本地仓库管理中心去

3.git push -u origin master ----------将本地所有改动提交都推送到远程仓库

master是github远程仓库分支(master是默认的主干,自己就是一条分支)

输入命令回车:

接着我们去我们的github上看看有没有东西:

这显示的是有的,至此我们的项目文件备份就算成功啦~就算电脑哪一天炸了我也能找回我的项目啦~

那备份有了,万一小编不小心,把公司服务器上的项目给弄炸了,该怎么找回来呢?

本地代码备份到github仓库

从远程仓库上拉取项目:

命令:git clone 远程仓库地址

我在本地一个文件夹git bash here

到下面这个位置点击按钮,复制地址(是https)

输入命令:git clone 远程仓库地址(这一个步骤其实已经将本地仓库和远程仓库对应起来了,后边不必再git remote 了)

东西也找回来了~

综合运用场景:

小编有一个自己学习的小项目,但是小编在家里写了,在公司没事也想敲一敲,学习学习,总不能复制一份到u盘吧,回去之后再赋值粘贴?

我们接着上一章讲,假如小编已经在公司把文件上传到github上了,回到家并且clone下来了,如前面所讲。现在小编写了西游记第二章。

然后晚上睡觉的时候我需要把东西上传到github上,以备在公司继续用

我们先看下此时有什么变动(有时候你可能改动比较多,比如.net项目,一个vs 的解决方案你改动几个地方可能有很多地方或者文件重新生成了)

git status

可以看到,他说我没有仓库

我们进入到下一级

cd git-

在git status

这里我们看到有红色的 改动

我们再重复三部曲 add commit push

我们再回到github刷新一下就看到

好了,第二天去公司,没事又能刷刷西游记了。嘿嘿。


注:关于文件丢失和代码丢失该如何找回,在我的另一篇文章里有提到,希望可以帮助到各位同学。有任何疑问的同学可以看我的签名,我们可以互相交流交流。

相关推荐

MySQL进阶五之自动读写分离mysql-proxy

自动读写分离目前,大量现网用户的业务场景中存在读多写少、业务负载无法预测等情况,在有大量读请求的应用场景下,单个实例可能无法承受读取压力,甚至会对业务产生影响。为了实现读取能力的弹性扩展,分担数据库压...

Postgres vs MySQL_vs2022连接mysql数据库

...

3分钟短文 | Laravel SQL筛选两个日期之间的记录,怎么写?

引言今天说一个细分的需求,在模型中,或者使用laravel提供的EloquentORM功能,构造查询语句时,返回位于两个指定的日期之间的条目。应该怎么写?本文通过几个例子,为大家梳理一下。学习时...

一文由浅入深带你完全掌握MySQL的锁机制原理与应用

本文将跟大家聊聊InnoDB的锁。本文比较长,包括一条SQL是如何加锁的,一些加锁规则、如何分析和解决死锁问题等内容,建议耐心读完,肯定对大家有帮助的。为什么需要加锁呢?...

验证Mysql中联合索引的最左匹配原则

后端面试中一定是必问mysql的,在以往的面试中好几个面试官都反馈我Mysql基础不行,今天来着重复习一下自己的弱点知识。在Mysql调优中索引优化又是非常重要的方法,不管公司的大小只要后端项目中用到...

MySQL索引解析(联合索引/最左前缀/覆盖索引/索引下推)

目录1.索引基础...

你会看 MySQL 的执行计划(EXPLAIN)吗?

SQL执行太慢怎么办?我们通常会使用EXPLAIN命令来查看SQL的执行计划,然后根据执行计划找出问题所在并进行优化。用法简介...

MySQL 从入门到精通(四)之索引结构

索引概述索引(index),是帮助MySQL高效获取数据的数据结构(有序),在数据之外,数据库系统还维护者满足特定查询算法的数据结构,这些数据结构以某种方式引用(指向)数据,这样就可以在这些数据结构...

mysql总结——面试中最常问到的知识点

mysql作为开源数据库中的榜一大哥,一直是面试官们考察的重中之重。今天,我们来总结一下mysql的知识点,供大家复习参照,看完这些知识点,再加上一些边角细节,基本上能够应付大多mysql相关面试了(...

mysql总结——面试中最常问到的知识点(2)

首先我们回顾一下上篇内容,主要复习了索引,事务,锁,以及SQL优化的工具。本篇文章接着写后面的内容。性能优化索引优化,SQL中索引的相关优化主要有以下几个方面:最好是全匹配。如果是联合索引的话,遵循最...

MySQL基础全知全解!超详细无废话!轻松上手~

本期内容提醒:全篇2300+字,篇幅较长,可搭配饭菜一同“食”用,全篇无废话(除了这句),干货满满,可收藏供后期反复观看。注:MySQL中语法不区分大小写,本篇中...

深入剖析 MySQL 中的锁机制原理_mysql 锁详解

在互联网软件开发领域,MySQL作为一款广泛应用的关系型数据库管理系统,其锁机制在保障数据一致性和实现并发控制方面扮演着举足轻重的角色。对于互联网软件开发人员而言,深入理解MySQL的锁机制原理...

Java 与 MySQL 性能优化:MySQL分区表设计与性能优化全解析

引言在数据库管理领域,随着数据量的不断增长,如何高效地管理和操作数据成为了一个关键问题。MySQL分区表作为一种有效的数据管理技术,能够将大型表划分为多个更小、更易管理的分区,从而提升数据库的性能和可...

MySQL基础篇:DQL数据查询操作_mysql 查

一、基础查询DQL基础查询语法SELECT字段列表FROM表名列表WHERE条件列表GROUPBY分组字段列表HAVING分组后条件列表ORDERBY排序字段列表LIMIT...

MySql:索引的基本使用_mysql索引的使用和原理

一、索引基础概念1.什么是索引?索引是数据库表的特殊数据结构(通常是B+树),用于...