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. MySQL常见的几个错误汇总
  2. Nature:寻找记忆的痕迹
  3. sphinx源码分析总结
  4. lc171. Excel Sheet Column Number
  5. 完美解答35K月薪的MySQL面试题(三)MySQL是如何实现事务的?
  6. Java 动态代理机制分析及扩展--转
  7. Qt的index 用方法static_castCTableItem*(index.internalPointer())取出来的值的成员都未初始化...
  8. python嵌入式系统开发_Python在开发实时嵌入式系统中的作用
  9. python用tsne降维_哈工大硕士实现了 11 种经典数据降维算法,源代码库已开放
  10. 版本控制工具历史的10个里程碑
  11. javascript V8引擎垃圾收集机制
  12. java excel 超链接_Java 编辑、删除Excel中的超链接
  13. [leetcode]190. 颠倒二进制位
  14. 【转】C++拷贝构造函数详解
  15. Python3 爬虫(二) -- 伪装浏览器
  16. 东方博宜 #1008字符图形9-数字正三角
  17. 想转行学IT,小白如何选择靠谱的培训学校
  18. 2011年 最新Gmail改版后 申请免费的Gmail企业邮箱图文教程
  19. 2019牛客ACM暑期多校第八场
  20. (14)写一个函数,将两个字符串连接

热门文章

  1. llinu启动oracle数据库,RAID与磁盘阵列] USP-V将DS8000虚拟的全过程
  2. 正确播放您的图表——有效的数据可视化提示
  3. 什么是智能双线机房和BGP智能双线机房的原理
  4. 对话绿盟科技丨云原生安全研究与实践
  5. shopex之phpunit环境搭建
  6. 别告诉我你懂PPT.李治.扫描版.pdf
  7. 在元宇宙中打造“艺术”的世界
  8. LTE-4G网络普及
  9. python变量的存储机制,关于python:python的变量缓存机制
  10. “共轭”(conjugate)是什么意思?