1、Git和Github分别是什么

Git是一个运行在你电脑上的版本控制软件,而Github是基于Git这个版本控制软件打造的代码托管网站。

Git的三个概念:提交commit.仓库repository.分支branch

提交commit:为了保存我们对代码的迭代,以便新写的代码让我们感到后悔时可以回滚到之前正确的代码版本,回到开心的状态。即将代码的更改以提交(commit)的形式保存在仓库里,以便后悔。

仓库repository:在本地把文件夹初始化成一个仓库,这样后续的提交就可以放在这个仓库里了。

分支branch:用于分工协作,不同的人写不同的分支,最后可以合起来。

Github:由于Git是一个本地软件,Git的仓库是初始化在自己的本地的,那样别人想和你一起开发就要用你的电脑写,很不方便。所以Github就是用来托管你的代码,以便其他人在自己的电脑上写完代码也可以提交到你的仓库里去。

2、Git的使用

官网下载Git到本地安装即可,可以在安装时指定使用vscode作为默认编辑器。Git安装可以参考如下教程:

详解 Git 安装过程的每一个步骤https://blog.csdn.net/mukes/article/details/115693833

注意如果安装路径不是默认,需手动添加环境变量:

安装好Git之后在settings.json文件中加入下面的字段,这样才能使用git的bash终端(不加也行,默认的powershell也会把命令解释到git bash执行)。

    "terminal.integrated.profiles.windows": {"git-bash": {"path": "D:\\Tools_Study\\Git\\bin\\bash.exe",}},"terminal.integrated.defaultProfile.windows": "git-bash"

clone开源项目到本地

1.复制仓库里绿色Code按钮下的HTTPS链接;

2.回到本地创建合适的文件夹,右键Git Bash Here,会在当前目录下唤醒下载好的Git Bash

3.输入git clone +复制的链接即可远程拉取(即下载)到本地

(也可以直接在GitHub仓库页面一键download zip.

Git 本地commit操作

Git commit的原理图示:

 即要从工作区add至暂存区,再从暂存区commit到仓库。

Git本地commit操作:

命令行操作:

git add -A  #把当前工作区的所有文件都添加到暂存区

git commit -m "提交信息"   #把暂存区的文件提交到 仓库中,

#那么此时就把你的更改记录在案了,就可以进行后悔操作回滚了

vs code图形化操作:

添加到暂存区:左侧源代码管理器栏(图标为小叉子)内更改栏的  +图标 ,点击即可实现git add -A 操作,也可以i选择个别文件点击+图标

提交到仓库中:源代码管理栏下面的消息框,输入描述信息 按CTRL+enter即可

查看提交的历史记录

命令行操作:git log --stat

vscode操作:使用GitLens supercharges插件就会出现commits一栏,在其中查看提交的历史记录。

维护项目回滚操作

工作区回滚:

git checkout <filename>

撤销最后一次提交:

git reset HEAD^1

分支操作

以当前分支为基础新建分支:git checkout -b <branchname>
列举所有的分支:git branch
单纯地切换到某个分支:git checkout <branchname>
删掉特定的分支:git branch -D <branchname>
合并分支:git merge <branchname>

远程操作(本地Git仓库托管到Github)

推送当前分支最新的提交到远程:git push
拉取远程分支最新的提交到本地:git pull

3、Github的使用

下载开源项目到本地:一键download zip.

注意此处download zip与命令行clone方式的区别是:clone下来的是一个仓库,download下来的只是一个文件夹。勾选隐藏的文件选项时可以看到clone下来的仓库内有一个.git的文件夹,而download下来的没有。可以通过git init命令来初始化这个download下来的文件夹,会发现新增一个.git文件夹,即一个普通的文件夹成为了仓库,后面就可以通过以commit的形式提交来保存迭代版本了。

查看迭代版本(即commit历史):绿色Code按钮下方有一个时钟图标2 commits点进去就可以看到版本迭代修改记录。

查看分支:仓库页面左上角叉子图标main

查看☆star数量,查看README文档,查看issue,查看开源协议(是不是MIT协议)。

4、开源项目搜索技巧

找开源项目的一些途径
• https://github.com/trending/
• https://github.com/521xueweihan/HelloGitHub
• https://github.com/ruanyf/weekly
特殊的查找资源小技巧-常用前缀后缀
• 找百科大全 awesome xxx
• 找例子 xxx sample
• 找空项目架子 xxx starter / xxx boilerplate
• 找教程 xxx tutorial

5、Git + vscode

插件: Git History Diff  GitLens supercharges

Git、Github相关推荐

  1. Git、GitHub、GitLab三者之间的联系以及区别

    Git.GitHub.GitLab三者之间的联系以及区别 在讲区别以及联系之前先简要的介绍一下,这三者都是什么(本篇文章适合刚入门的新手,大佬请出门左转) 1.什么是 Git? Git 是一个版本控制 ...

  2. 【Git、GitHub、GitLab】十 将git仓库备份到本地

    上一篇文章学习记录了工作中常用的一些git命令,点击链接查看:[Git.GitHub.GitLab]九 工作中非常重要的一些git用法 文章目录 1 git的传输协议 2 如何将git仓库备份到本地 ...

  3. 【Git、GitHub、GitLab】九 工作中非常重要的一些git用法

    上一篇文章学习了 如何修改commit的message,点击链接查看:[Git.GitHub.GitLab]八 如何修改commit的message 注意:下面的'–' 都是两个'-'组成 本文介绍一 ...

  4. 【Git、GitHub、GitLab】七 git中分支的删除以及出现分离头指针的情况

    上一篇文章学习了GIT中commit.tree和blob三个对象之间的关系,点击链接查看:[Git.GitHub.GitLab]六 GIT中commit.tree和blob三个对象之间的关系 文章目录 ...

  5. 【Git、GitHub、GitLab】五 git中裸仓库.git下的内容

    上一篇文章学习了git的文件重命名与git -log 的系列命令的使用方法.点击链接查看上一篇文章:[Git.GitHub.GitLab]四 Git文件重命名的简单方法以及使用git log查看版本演 ...

  6. 【Git、GitHub、GitLab】四 Git文件重命名的简单方法以及使用git log查看版本演变历史

    上一篇文章学会了使用GIT四次提交建立一个有模有样的仓库.点击链接查看:[Git.GitHub.GitLab]三 Git基本命令之创建仓库并向仓库中添加文件. 本片文章记录git的文件重命名的简单方法 ...

  7. 【Git、GitHub、GitLab】三 Git基本命令之创建仓库并向仓库中添加文件

    前两篇文章已经学会了Git的基本命令与创建仓库的命令,点击链接查看上一篇文章:[Git.GitHub.GitLab]二 Git基本命令之建立Git仓库,本篇文章就来创建一个有模有样的仓库.该仓库中的代 ...

  8. 【Git、GitHub、GitLab】二 Git基本命令之建立Git仓库

    上一篇文章学习了Git的安装与最小配置:[Git.GitHub.GitLab]一 Git安装与Git最小配置 文章目录 建立Git仓库 建立Git仓库 有两种方式可以建立Git仓库: 用Git之前已经 ...

  9. Git、Github、Gitee、GitLab学习笔记

    文章目录 Git.Github.Gitee.GitLab学习笔记 前言 一.Git 1.Git概述 2.Git基本操作介绍 2.1 安装&卸载 2.2 启动 3.Git的基本使用 3.1 GI ...

  10. git、github保姆级教程(手把手交)以及如何在github上提交pr,参与开源项目

    git.github保姆级教程(手把手交)以及如何在github上提交pr,参与开源项目 一.git的安装 直接参考 git官方网站:https://git-scm.com/ 二.git的使用(从新手 ...

最新文章

  1. 2.1 帮助命令、用户管理、压缩
  2. 把 SOAP 服务转化为 REST 服务(REST Service 的最佳实践,第 3 部分)
  3. Flask实战1-轻博客
  4. Java黑皮书课后题第10章:*10.17(平方数)找出大于Long.MAX_VALUE的前10个平方数。平方数是指形式为n^2的数
  5. PAT (Basic Level) Practice (中文)1003 我要通过! (20 分)
  6. RocketMQ消息发送及消费的基本原理
  7. SCCM 2012系列3 安装SCCM 2012
  8. python中argsparse_Python中的argparse模块
  9. MATLAB 遗传算法求解约束优化问题
  10. 敖丙大佬的《吐血整理》-顶级程序员书单集 JAVA
  11. 如何成为数据分析师?小白这样做,快速入门数据分析
  12. 写个鸭子类方法java_小黄鸭系列java基础知识 | Java基本语法
  13. Shiro记住我无效,被拦截;
  14. 自动化学科前沿讲座分享,作业,自动化与人工智能
  15. 终于明白了AOP中的方面是什么意思
  16. Angular 2 升级到 Angular 5
  17. 从后端到前端的转变:如何选择框架?
  18. Hanoi塔问题图文详解
  19. 闪耀暖暖的3D建模真好吗?
  20. 淘宝API_item_cat_get - 获得淘宝商品类目

热门文章

  1. 基于LabView条件结构的LED数码管
  2. 阿里二面,面试官:说说 Java CAS 原理?
  3. 小学计算机六年级下教学计划,人教版小学六年级下册信息技术教学计划范文(通用3篇)...
  4. 是德频谱仪N9020A维修报错维修-安泰维修
  5. 成功科学家如何读文献
  6. (三)流体运动学(质量守恒)
  7. Shell printf格式化输出命令
  8. iOS 越狱之后无法查看private、var等文件
  9. FPE修改教程进阶(地址编辑部分)
  10. 多张图片合成一张的ps技术