本文拟将用通俗的语言描述git的使用方法,如有出入,请批评指正

概念

什么是git

Git可以想象成一个超级高效的"时间机器",专门为编程人员设计,用来保存和管理他们的代码。就像你可以用时间机器回到过去,看看自己以前的样子,Git允许开发者回到代码的过去版本,看看它之前长什么样。帮助开发者高效管理代码的工具,让编程工作更加有序和安全。

git与GitHub有什么区别

Git和GitHub是两个不同的概念,但它们在软件开发中经常一起使用。

下面是它们的区别:

  • Git是一个版本控制系统,用于跟踪和管理代码的变更历史。它是一个本地工具,意味着你可以在自己的电脑上使用它,不需要网络连接。Git提供了分支、合并、回滚等强大的功能,帮助开发者管理代码的不同版本。

  • GitHub是一个基于Git的在线服务,提供了一个平台来托管和管理代码仓库。它是一个远程服务,需要网络连接才能使用。GitHub提供了额外的功能,比如用户界面、协作工具、代码审查、问题跟踪、Wiki等。

简单来说,使用Git,你可以在自己的电脑上创建、修改、删除文件,并且可以查看每次操作的详细历史记录。而GitHub则是提供了一个平台,使用GitHub,你可以把本地的代码仓库上传到网上,这样其他人就可以看到、下载、评论和贡献你的代码。GitHub还提供了一些社交功能,比如关注项目、点赞、讨论等,这些都有助于建立一个活跃的开发者社区。

提交、仓库、分支

在学习使用git之前我们先了解一下git的几个核心概念

  • 提交(Commit):

    提交就是保存你的工作。在Git中,当你完成一些改变,比如写代码或者修改文件,你可以提交这些改变。这就像是告诉Git:“嘿,我已经做好了这些工作,帮我保存一下。”每次提交都会记录下你所做的改变,并且你可以留下一些说明,告诉别人你为什么要这么做。

  • 仓库(Repository):

    仓库就是放你所有工作的地方。它包含了你所有的文件和每次你提交的改变。你可以把它想象成一个文件夹,但是这个文件夹非常聪明,它记得你每次保存的东西,并且可以帮你管理不同的版本。

  • 分支(Branch):

    分支就像是你有多个任务要做,但是又不想混在一起。你可以创建一个新的分支来专门处理一个任务。这样,你就可以在这个分支上工作,而不影响其他的任务。当你完成这个任务后,你可以把这部分工作合并回主分支,就像是把两个故事线合并到一起。

简单来说,提交就是保存你的工作,仓库就是存放这些工作的地方,分支就是帮你同时处理多个任务的工具。

git的使用

从GitHub上下载别人的代码

直接将代码下载到本地

这种方式简单粗暴,但是通过直接下载到本地的代码工程将会是一个普通的文件夹,如果GitHub的仓库发生了更新,你无法通过拉取的方式同步更新后的内容,只能再次下载,缺乏便利性。

克隆仓库获取代码

  1. 找到代码仓库(方法同上):

    首先,你需要找到你想下载的代码所在的GitHub仓库。通常,这可以通过在浏览器中访问GitHub网站并搜索项目名称或直接输入项目的URL来完成。

  2. 克隆仓库:

  • 一旦你找到了项目,你可以使用git clone命令来克隆仓库。这需要在本地计算机上打开命令行或终端。打开终端或命令行:在你所要存放代码的文件夹中点击鼠标右键——>点击"Open Git Bash here"。
  • 在终端使用克隆命令:git clone [仓库URL.(这里的[仓库URL]是GitHub上项目的URL。)例如:





    等待克隆完成:执行克隆命令后,Git将开始下载整个仓库,包括所有分支和标签。这可能需要一些时间,取决于仓库的大小。
  1. 打开项目:克隆完成后,你可以在命令行中使用cd 项目名命令进入项目目录,然后使用你喜欢的代码编辑器打开项目。

  2. 拉取最新更改(如果需要):如果你已经克隆了仓库,但想要获取最新的更改,可以使用git pull命令来更新你的本地副本。

  3. 设置远程仓库(如果需要):如果你想要为项目贡献代码,你可能需要设置远程仓库,这样你就可以推送你的更改。通常,这可以通过运行git remote add origin [仓库URL]来完成,但这通常在克隆时自动设置。

将自己的代码上传到GitHub

  1. 创建GitHub账户:如果你还没有GitHub账户,首先需要注册一个。

  2. 创建一个新的仓库:登录你的GitHub账户,点击页面右上角的 "+" 号,选择 "New repository"。

  3. 填写仓库的名称、描述(可选),选择是公开还是私有,然后点击 "Create repository"。

  4. 初始化本地仓库:如果你的项目目录还不是一个Git仓库,你需要初始化它。打开终端或命令行,导航到你的项目目录,然后运行:

    git init

  5. 添加文件到仓库:将你的项目文件添加到本地仓库的暂存区:在终端的文件目录下运行:

    git add .

  6. 提交更改:提交你的更改到本地仓库:

    git commit -m "Initial commit"

  7. 添加远程仓库:将GitHub上的仓库链接到你的本地仓库。这通常在创建仓库时自动完成,但如果没有,你可以使用以下命令:

    git remote add origin https://github.com/你的用户名/仓库名.git

  8. 推送到GitHub:

    将你的本地仓库的更改推送到GitHub上的远程仓库:

    git push -u origin master

    如果你的远程仓库使用的是默认分支名main,将master替换为main。

  9. 设置访问权限:

    如果你的仓库是私有的,确保你的GitHub账户有权限推送代码。

  10. 检查GitHub页面:

    推送完成后,访问你的GitHub仓库页面,检查你的代码是否已经成功上传。

  11. 后续提交:

    以后每次你想要上传新的更改,只需重复步骤4到7。

    请注意,如果你的项目中已经有.git目录,那么你的项目已经是一个Git仓库,你可以直接从步骤3开始操作。此外,如果你在推送时遇到任何问题,比如因为远程分支不存在,你可能需要先创建远程分支或使用git push -u origin master --set-upstream来设置上游分支。

git的快速入门(含常用指令)的更多相关文章

  1. vue 快速入门、常用指令(1)

    1. vue.js的快速入门使用 1.1 vue.js库的下载 vue.js是目前前端web开发最流行的工具库之一,由尤雨溪在2014年2月发布的. 官方网站 中文:https://cn.vuejs. ...

  2. Astyle 快速入门,常用指令

    --style=java -n -p -c !E astyle是一个命令行工具,命令语法很简单:          astyle [options] < original > Beauti ...

  3. 版本控制工具Git工具快速入门-Linux篇

    版本控制工具Git工具快速入门-Linux篇 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.版本管理系统的介绍 1>.版本管理系统的特点 1.1>.自动生成备份: ...

  4. 版本控制工具Git工具快速入门-Windows篇

    版本控制工具Git工具快速入门-Windows篇 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 最近在学习Golang语言,之前的开发环境在linux上开发的,后来由于办公用的是w ...

  5. Git快速入门和常用命令

    一.快速入门 本地初始化一个项目 首先,你需要执行下面两条命令,作为 git 的基础配置,作用是告诉 git 你是谁,你输入的信息将出现在你创建的提交中. git config --global us ...

  6. git 快速入门及常用命令

    身为技术人员,都知道Git是干嘛的.从服务端角度它是代码仓库,可以多人协作.版本控制.高效处理大型或小型项目所有内容:从客户端讲,它能够方便管理本地分支.且与服务端代码的同步,从拉取.合并.提交等等管 ...

  7. .NET Core实战项目之CMS 第四章 入门篇-Git的快速入门及实战演练

    写在前面 上篇文章我带着大家通过分析了一遍ASP.NET Core的源码了解了它的启动过程,然后又带着大家熟悉了一遍配置文件的加载方式,最后引出了依赖注入以及控制反转的概念!如果大家把前面几张都理解了 ...

  8. Git创建工作目录与常用指令

    1.创建工作目录与常用指令 工作目录(WorkSpace)一般就是你希望Git帮助你管理的文件夹,可以是你项目的目录,也可以是一个空目录,建议不要有中文. 日常使用只要记住下图6个命令: 2.提交管理 ...

  9. Vue.js入门及其常用指令

    一.Vue框架 https://cn.vuejs.org/ 官网 前端领域有三大框架 Angular诞生于2009年,是由谷歌公司创建出来的框架: React诞生于2013年,是由facebook公司 ...

  10. git &github 快速入门

    本节内容 github介绍 安装 仓库创建& 提交代码 代码回滚 工作区和暂存区 撤销修改 删除操作 远程仓库 分支管理 多人协作 github使用 忽略特殊文件.gitignore 1.gi ...

随机推荐

  1. springboot拦截器@resource注解注入为null解决方案 拦截适配配置

    springboot拦截器@resource注解注入为null解决方案  拦截适配配置 为什么@resource注入为nullinteceptor在springcontext之前加载,注入必然是nul ...

  2. JS常用的工具方法

    记录一些经常使用的JS通用工具方法,代码来自互联网,佛性更新 空字符串校验 /** * 判断字符串是不是NULL或空串或空格组成 * @param str 被判断的字符串 * @return {boo ...

  3. emlog新浪上传插件+接口 V1.1

    Tips:当你看到这个提示的时候,说明当前的文章是由原emlog博客系统搬迁至此的,文章发布时间已过于久远,编排和内容不一定完整,还请谅解` emlog新浪上传插件+接口 V1.1 日期:2018-4 ...

  4. 有点儿神奇,原来vue3的setup语法糖中组件无需注册因为这个

    前言 众所周知,在vue2的时候使用一个vue组件要么全局注册,要么局部注册.但是在setup语法糖中直接将组件import导入无需注册就可以使用,你知道这是为什么呢?注:本文中使用的vue版本为3. ...

  5. 开启PHP-GD库

    话不多说,上教程 环境 CentOS7 1. 安装php-gd yum install php-gd 2. 定位gd.so位置 rpm -qal | grep gd.so #第一行即是 3. 定位配置 ...

  6. 全志T3+FPGA国产核心板——Pango Design Suite的FPGA程序加载固化

    本文主要基于紫光同创Pango Design Suite(PDS)开发软件,演示FPGA程序的加载.固化,以及程序编译等方法.适用的开发环境为Windows 7/10 64bit. 测试板卡为全志T3 ...

  7. DVT:华为提出动态级联Vision Transformer,性能杠杠的 | NeurIPS 2021

    论文主要处理Vision Transformer中的性能问题,采用推理速度不同的级联模型进行速度优化,搭配层级间的特征复用和自注意力关系复用来提升准确率.从实验结果来看,性能提升不错 来源:晓飞的算法 ...

  8. AT_abc215F 题解

    考虑二分答案. 假设当前二分的答案为 \(k\),那么对于每个点,距离大于等于 \(k\) 的点构成了平面上 \(4\) 个子平面. 那么只需查询子平面中是否存在点即可,类似于窗口的星星,把问题转换成 ...

  9. mobaXterm 查看密码

    参考:MobaXterm中密码的查看方式 检查是否把密码保存到了注册表中 然后从https://github.com/HyperSine/how-does-MobaXterm-encrypt-pass ...

  10. Bond——大数据时代的数据交换和存储格式

    设想我们在一家很大的互联网公司做IT方面的规划.开发和维护,有以下这样的应用场景: 公司里有若干个不同的开发团队,开发语言有Java..net.Python.C++....十来种,还有很多外包团队对项 ...