观前提示:

  • 本文主要介绍了用命令的方式对Git进行操作(全程用的win10系统),而对于TortoiseGit和github desktop等图形化操作知识,只进行简单介绍或提及,详细使用会在提到的地方附上相关教程链接。
  • 另外,萌新刚刚接触Git,很多东西理解尚浅。希望通过本教程,让想入门的小伙伴学会一些基本操作。

Git简单介绍:

  • Git是一个开源的分布式版本控制系统,可以有效、高速地处理从很小到非常大的项目版本管理。如果是刚刚接触它,你可以简单的把它理解为一个云空间。不过它上传文件和项目的时候与常见的云存储的那种直接上传本地文件的方式不同,它分为三个部分:本地仓库、暂存区和远程仓库。
  • 这里可以简单类比一下,git远程仓库,相当于百度云,本地仓库就是你电脑的文件夹,他俩中间建了一个服务区,你传输的文件要先在服务区休息,等你确认相关信息,并发出指令后,再传到远程仓库。

前置准备:

  1. 注册github账号

    如果进不去,你可能需要科学的上网方法
  2. 安装Git环境

    Git安装可参考如下教程:

    https://blog.csdn.net/qq_38113006/article/details/104075379
  3. 此外,你还可以下载一个Git桌面软件github desktop它也可以帮助你更简便的使用,在下面会有简单的介绍
  4. 操作过程中如果遇到不懂的命令,请移步到:https://blog.csdn.net/halaoda/article/details/78661334 参考研究

Git详细使用:

1.基本信息设置

这一步建议直接登录Github操作

git config --global user.name '用户名'      #设置用户名
git config --global user.email '邮箱' #设置用户名邮箱
git config --list #查看设置

2.新建Git本地仓库

打开一个你想放仓库的路径,右键打开Git Bash Here

git init #初始化git本地仓库

生成.git文件夹,默认是隐藏属性,打开查看,勾选显示隐藏文件可以看到(找不到的百度一下)

可以看到后面显示有master的默认分支(现阶段github上默认是main分支)

git checkout -b main   #创建并切换到main分支的命令

master意为主人,由于被认为带有种族歧视的味道,现在慢慢改为用main来代替(这两个分支就只有单词的区别,选哪一个看个人习惯)

下图是.git文件夹初始化后里面的样子

3.创建资料仓库

这里提供两种方法

(1)在github上创建

直接在github新建远程仓库,然后同步到本地仓库

登录github,点击右上角的加号,新建repository

仓库名字随意,描述可以不填,属性根据需要选择

点击创建,即可看到库已经生成

点击上图蓝色用户名,返回上一级目录,可以看见创建的所有资料库

(2)用desktop创建

用桌面软件github desktop创建本地仓库,并同步远程仓库

点击publish同步到远程仓库

可以看到,本地和远程都出现仓库

(3)desktop详细教程

桌面版可以很直观的查看提交的更改信息,更加细致的操作请参考下面教程:

https://www.jianshu.com/p/06a960d991aa

4.创建多级目录

提供两种创建以及同步的方法

(1)直接在github上创建

在远程仓库创建,然后克隆到本地

创建新文件(如果创建多级自动变成文件夹)

在框重输入目录名字,可以一次性输入多层,例如:src/file/work

因为不可以存在空文件夹,所以可以创建一个多余的文件,后面可以删掉

拉到最下边,填写描述(选填),点击提交

上传文件(比如上传一些图片),特别注意不要上传错目录,如果文件比较多,在容易直接在github上删掉

选择文件上传

等待上传到缓存区

添加描述后,提交更改

可以看到已经上传到该目录

- 在github上删除、同步

删除不要的文件:直接在github上貌似只能单个删除,或者直接删除文件夹或者资料库

点进要删除的文件,点击垃圾箱,提交更改,即可删除

在这里会显示你刚刚进行的操作

然后把文件克隆到本地,实现同步

首先复制这个地址

git clone +地址 //克隆文件

这里记得切换一下目录(切换目录可以用cd 命令,也可以进入文件夹后右键重新打开),否则会下载到.git文件夹外面,我这里下载错了,可以手动剪切进去

可以看到这个就是刚刚在远程库建立的目录和文件

- 在本地删除、同步

此外还可以在本地修改后同步到远程仓库

进入到要修改的文件夹,右键进入Git bash

dir #查看文件
git rm -r --cached +文件名 #删除远程仓库文件且不影响本地仓库
git commit -m "xxx" #提交操作说明
git push -u origin master #更新到github远程仓库

回到github,可以看到图片0005已经被删除

git rm +文件名 #同时删除本地和远程库的文件

- 批量删除、同步

前面都是单个文件删除和同步,适用于比较小的更改,如果有大量文件需要更改,则可以在本地整理好后,一起更新到远程仓库

首先,如图,这是本地仓库删除一些文件后与远程仓库的对比图,此外在上一层另外增加一个文件夹

并放入一张图片

打开Git bash (最好在你修改的上一级目录打开)

依次输入

git add *               #把本地仓库的文件上传到缓存区
git commit -m "update" #提交修改信息
git push #上传到远程仓库(默认只上传当前的分支)

如果是第一次使用,建议先用下面的命令

git push -u origin main  #将main分支推送到origin主机并指定origin为默认主机, 之后可以直接使用git push 不用加参数

操作完后的效果如图

与上面修改的本地仓库一致

(2)在本地仓库创建

在本地电脑直接建立多级目录,然后更新到远程仓库

以上传一个本地项目为例:

首先在github上创建一个项目仓库project(名字随意),复制好仓库的地址

然后回到本地电脑,进入你的工程目录,右键进入Git bash

git init #将工程目录初始化为Git管控的环境

git remote add origin +刚刚复制好的仓库地址
git pull origin main
git add .
git commit -m "提交修改信息"
git push origin main

命令说明和操作效果如图

在看看github远程仓库,发现项目已经同步上来了,如果你需要多层文件夹,初始化git的时候多建立几层文件夹即可

5. 删除仓库

如果新建的仓库不想要了,可以直接在github中删除,不需要再删除本地文件后同步

进入到你的xxx资料仓库,点击Settings,里边可以对库进行重命名

翻到最下边 点击 delete this repository

根据提示输入相应的库的路径,点击 ”明白删除库的后果“即可删除

本地库就直接在.git文件夹中点击删除即可

6. 配置SSH密钥

在克隆项目的时候我们会发现,除了https地址,还有个SSH地址,用它下载需要牌子ssh密钥



git配置SSH密钥:

先检查配置信息:如果没有用户名和邮箱,可以先去github配置,或者使用如下命令配置

git config --global  user.name "你的用户名"

git config --global user.email "你的邮箱"

然后执行下面的命令生成密钥:

ssh-keygen -t rsa -C "你的邮箱"

一路确认后,会让你保存密钥文件,默认在c:/user/用户名/.ssh文件夹里边,找到id_rsa.pub,打开复制里边的内容

接着打开github的Settings,然后将密钥粘贴到如图所示地方

7. TortoiseGit安装、配置

如果觉得命令行操作麻烦,也有一款界面化操作的软件TortoiseGit,其操作的原理和用命令相同

安装教程参考:TortoiseGit安装、配置 - 修行者HT - 博客园 (cnblogs.com)

Re:从零开始的Git保姆级使用教程的更多相关文章

  1. 保姆级教程——Ubuntu16.04 Server下深度学习环境搭建:安装CUDA8.0,cuDNN6.0,Bazel0.5.4,源码编译安装TensorFlow1.4.0(GPU版)

    写在前面 本文叙述了在Ubuntu16.04 Server下安装CUDA8.0,cuDNN6.0以及源码编译安装TensorFlow1.4.0(GPU版)的亲身经历,包括遇到的问题及解决办法,也有一些 ...

  2. 强大博客搭建全过程(1)-hexo博客搭建保姆级教程

    1. 前言 本人本来使用国内的开源项目solo搭建了博客,但感觉1核CPU2G内存的服务器,还是稍微有点重,包括服务器内还搭建了数据库.如果自己开发然后搭建,耗费时间又比较多,于是乎开始寻找轻量型的博 ...

  3. RocketMQ保姆级教程

    大家好,我是三友~~ 上周花了一点时间从头到尾.从无到有地搭建了一套RocketMQ的环境,觉得还挺easy的,所以就写篇文章分享给大家. 整篇文章可以大致分为三个部分,第一部分属于一些核心概念和工作 ...

  4. Git使用详细教程(一)

    很久不发博客,最近有兴趣想写点东西,但 Live Writer 不支持从Word复制图片,疯狂吐槽下 Git使用详细教程(一) Git使用详细教程(二) 该教程主要是Git与IntelliJ IDEA ...

  5. 在Dropbox上搭建私有的Git仓库的教程

    导读 Git版本控制系统需要一个服务器端,而GitHub上要想创建私有的Git服务器端仓库则触及到收费项目,于是这里我们利用Dropbox的免费空间,来看一下在Dropbox上搭建私有的Git仓库的教 ...

  6. git github 使用教程

    参考文章:文章地址: http://wuyuans.com/2012/05/github-simple-tutorial/ github是一个基于git的代码托管平台,付费用户可以建私人仓库,我们一般 ...

  7. git学习基础教程

    分享一个git学习基础教程 http://pan.baidu.com/s/1o6ugkGE 具体在网盘里面的内容..需要的学习可以直接下.

  8. git 入门教程之 git 私服搭建教程

    git 私服搭建教程 前几节我们的远程仓库使用的是 github 网站,托管项目大多是公开的,如果不想让任何人都能看到就需要收费,而且 github 网站毕竟在国外,访问速度太慢,基于上述两点原因,我 ...

  9. Git&GitHub-基础教程

    目录 1. Git简介 1.1 什么是版本控制系统? 1.2. Git的历史 1.3. 什么是分布式?什么是集中式? 2. Git安装 3. 创建一个版本库 4. Git的语法教程 4.1. 提交一个 ...

随机推荐

  1. 密码 & 安全

    密码 & 安全 拖库/脱库 如何在数据库中存储密码更安全? https://time.geekbang.org/dailylesson/detail/100044031 拖库和撞库 https ...

  2. NGK以强大的创新能力赋予NGK公链超级实用的特性

    公链从大趋势看是一个不断迭代的过程,不管是共识算法.网络架构.开发者协议都在一代一代不断完善跟创新. NGK公链作为公链赛道上的后起之秀,对于主流公链技术的局限性以及下一代公链技术的发展方向都有非常清 ...

  3. 执行Python程序时模块报错

    1. 在执行python程序时遇到 'ModuleNotFoundError: No module named 'xxxxx'' : 例如: 图片中以导入第三方的 'requests' 模块为例,此报 ...

  4. 微服务学习.net5+consul

    趁着刚过完年,还没有开始做业务的时候,学习下consul 概念自己去官网看,这里只讲下具体实现 官网下载https://www.consul.io/downloads 我下载的是Windows版本 启 ...

  5. JavaSE实现IoC

    作者:Grey 原文地址: 语雀 博客园 Java SE 提供了三种方式,可以实现IoC,分别为: Java Beans Java ServiceLoader SPI JNDI(Java Naming ...

  6. GetQueuedCompletionStatus客户端前端和server之间的通信

    项目中遇到了这个东西,怎么都调试不到.记录下. 一.完成端口IOCP https://www.cnblogs.com/yuanchenhui/p/iocp_windows.html

  7. Markdown基础使用方法

    Markdown基础使用方法 标题的几种用法 * 选中标题(Ctrl+1~Crtl+6),分别为标题1-6.* #+空格+内容 为一级标题##+空格+内容为二级标题:以此类推. 字体快捷键及使用方法 ...

  8. 不用代码趣讲 ZooKeeper 集群

    本文作者:HelloGitHub-老荀 Hi,这里是 HelloGitHub 推出的 HelloZooKeeper 系列,免费开源.有趣.入门级的 ZooKeeper 教程,面向有编程基础的新手. 项 ...

  9. pytorch(05)计算图

    张量的一系列操作,增多,导致可能出现多个操作之间的串行并行,协同不同的底层之间的协作,避免操作的冗余.计算图就是为了解决这些问题产生的. 计算图与动态图机制 1. 计算图 计算图用来描述运算的有向无环 ...

  10. Google单元测试框架gtest之官方sample笔记4--事件监控之内存泄漏测试

    sample 10 使用event listener监控Water类的创建和销毁.在Water类中,有一个静态变量allocated,创建一次值加一,销毁一次值减一.为了实现这个功能,重载了new和d ...