git基本操作(适合新手)
本人也是刚刚开始学习 大家可以一起交流,大佬可以在教一下
目录
- git配置
- git本地仓库
- SSH提交方式,git提交远程仓库
一、git配置
git config --global user.name 你的英文名
git config --global user.email 你的邮箱
git config --global push.default simple //simple必须保证本地分支和它的远程upstream分支同名,否则会拒绝push操作。
git config --global core.quotepath false //解决中文乱码问题
git config --global core.editor "code --wait" //默认文本编辑器 vscode打开
git config --global core.autocrlf input // 在提交时把CRLF转换成LF,签出时不转换
注意:上面的英文名和邮箱跟 GitHub 没有关系,可以一样也可以不一样
可能写的有问题,可自行百度6行配置的翻译
git config --gloval --list 查看配置
二、git本地仓库
新建目录 git-demo
git init // 初始化
注意:git init 只是创建 .git目录(隐藏的) 他的功能类似于快照
创建一个html文件,用来做操作
开始操作
git add index.html // 标记index.html
git status -sb // 查看需要提交的文件
A 代表git add了
还有别的状态,后面给介绍
git commit -v //提交并且打开默认编辑器,如果git6行配置你配置了,就会打开vscode 如果没有会打开vim编辑器
静静等待你的电脑端打开vsCode
打开成功会是这样的:
会让你看到代码里那块修改了,那块删除了 可以多写一点提交理由(在第一行写)
写完保存->关闭
回滚版本
git log // 查看版本
git logo查看一下提交过的版本信息,注意commit版本号
git reset --hard 5ea4ce // 回滚到第一个版本
成功
在查看一下版本(git log)
已经回到最初的版本了。
注意:回滚完了就找不到之前的版本了
这里说一个高级操作 git reflog 查看全部版本历史
(手动斜眼笑)
想回滚到那个版本都可以了
注意:运行 reset 命令前,一定要确保重要代码已经提交(commit)了,如果只是` git add `了但是没有` git commit ` 在回滚版本会丢失文件。版本号可以是6位也可以是4位只要保证是唯一的就可以
分支
git branch a // 创建a分支
会基于本地仓库里最新一次 commit,创建一个新的分支 a
git checkout a // 切换到a分支
文档改一下内容
git add -> git commit 一下
git branch // 查看分支 带 * 号是当前分支
git branch -d x // 删除分支,x新创建的分支
如果没有合并代码,git branch -d x 会报错,如果必须删这个分支,可以使用 git branch -D x
合并分支
git merge a // 合并分支
注: 最好切换到master分支,保留主分支(master)
解决冲突
合并分支和git pull时遇到的冲突,会报CONFLICT错误
可以使用 git status -sb查看冲突文件
切换到a分支 修改了 h1标签里的内容导致了冲突 因为master和a分支都写了这个地方,在vscode里就会出现冲突提示
UU :2个分支都修改了此文件
vsocde会提示冲突
解决冲突的方式:
- 可以选择上面,也可以选择下面,甚至都可以选择
- 删除不需要的代码,(==== >>>> <<<<)
- 最次
git status -sb修改下一个文件 git add对应的文件- 没有冲突了,在commit一下
我选择了保留双方更改
三、SSH提交方式,git提交远程仓库
github创建一个仓库
接下来生成SSH
ssh-keygen -t rsa -b 4096 -C 邮箱
成功:
执行中 连续按3次回车就可以了,成功就会出现小气泡
失败
出现 Overwrite(y/n) 表示失败 请去默认保存地址去删除SSH
或者备份
- id_res 私钥
- id_rsa.pub 公钥、
自己保留私钥,gitHub设置公钥
注意:私钥不要给别人看,也不要发给别人
设置gitHub的公钥
进入默认ssh存放目录 打开 id_rsa.pub 文件 复制进 key里 然后点 Add SSH key就可以了
添加时需要验证一次密码
验证SSH
ssh -T git@github.com // 如果问你(yes/no) 输入yes回车
注:SSH和HTTPS的下载 SSH是不需要输入密码的,HTTPS是需要每次需要密码的
好了SSH的配置就结束了,现在开始提交gitHub
提交gitHub
git remote add origin git@github.com:GeFei-someone/gitdemo-2.git // 连接远程仓库
git pull origin master // 更新 提交前最好先更新一下 如果代码没有别的同事修改,就可以直接提交
git push -u origin master //提交 -u:记住这次操作 下次只需要 git push 就可以了
提交成功!!!
如果你是一个空目录 需要从github上克隆代码需要使用:
一定要切换到SSH上复制
git clone origin git@github.com:GeFei-someone/gitdemo-2.git // 克隆项目
git clone origin git@github.com:GeFei-someone/gitdemo-2.git yyy // 克隆项目并且重命名为 yyy
git clone git@github.com:feiwen1119/git-demo-1.git . // 考虑项目不重新创建目录,使用当前目录容纳代码
注:当前目录最好是空目录
成功!!!
结束语
因为没有结束语所以不写了
git基本操作(适合新手)的更多相关文章
- Git学习系列之Git基本操作克隆项目(图文详解)
不多说,直接上干货! 想必,能进来看我写的这篇博文的朋友,肯定是了解过. 比如SVN的操作吧,最常见的是 检出(Check out ...), 更新 (Update ...), 以及 提交(Commi ...
- 学习如何运用GitHub网站+出现的问题+Git基本操作总结
首先介绍一下GitHub网站: github是一个基于git的代码托管平台. GitHub 拥有一个非常鼓励合作的社区氛围.这一方面源于 GitHub 的付费模式:私有项目需要付费,而公共项目完全免费 ...
- 最适合和最不适合新手使用的几款 Linux 发行版
大多数知名的Linux发行版都属于"比较容易使用"这一类.一些观察人士可能会驳斥这个观点,但事实上,说到Linux,大多数并非从事IT或软件开发工作的人会被最容易的使用体验所吸引. ...
- git和github新手安装使用教程(三步入门)
git和github新手安装使用教程(三步入门) 对于新手来说,每次更换设备时,github的安装和配置都会耗费大量时间.主要原因是每次安装时都只关心了[怎么做],而忘记了记住[为什么].本文从操作的 ...
- python环境搭建-requests的简单安装(适合新手)
安装完python之后,一定要记住安装后的路径.这是我当前的路径. 下面是requests的安装步骤: 我们这里直接用pip安装(这样比较适合新手),新版python自带pip,python3.6.1 ...
- 关于富文本编辑器ueditor(jsp版)上传文件到阿里云OSS的简单实例,适合新手
关于富文本编辑器ueditor(jsp版)上传文件到阿里云OSS的简单实例,适合新手 本人菜鸟一枚,最近公司有需求要用到富文本编辑器,我选择的是百度的ueditor富文本编辑器,闲话不多说,进入正 ...
- Git基本操作和GtHub 特殊技巧
<GitHub 入门与实践> 笔记 了解GitHub Git 和 GitHub 的区别 在Git中,开发者将源代码存入名为"Git仓库"的资料库中,并加以使用.而Git ...
- git和github新手快速操作流程
git和github新手快速操作流程 本文主要介绍利用git版本控制将项目托管到远程仓库github上的一般性操作流程,为了给正在学习git的同学们一个小小的参考,以便更轻松的去深入学习git,本文所 ...
- 适合新手小白的UI学习路线完整版
UI设计是很多年轻人活着想转行学习的人的新职业目标,越来越多的人看到UI设计良好的就业发展前景,纷纷投入到UI设计的大军中来,想学习UI设计,很多小白并不知道从何开始学起,用什么样的方法去学习,所以今 ...
- 适合新手的web开发环境
学习web开发,环境搭建是必不可少的一个环节.你可以使用wamp一键安装包,或者使用sae.bae.gae这种PaaS平台来部署,或者安装*nix系统在本地部署. 对于一个希望体验LAMP式建站的新手 ...
随机推荐
- hackrf GPS欺骗
在对GPS欺骗之前,先对GPS的知识做一个简单的介绍 GPS 系统本身非常复杂, 涉及到卫星通信等各个领域. 这里只是简单介绍一下. 我们通常所说的 GPS 全球定位系统是由美国国防部建造完成. 目前 ...
- Linux标准输入、标准输出、错误输出
Linux中的输入文件.输出文件.错误输出 文件名称 文件描述符 标准输入 0 (默认是键盘) 标准输出 1 (默认是屏幕) 标准错误 2 (默认是屏幕) 输出重定向 Linux中&表示后台运 ...
- git设置个人信息
git config --global user.name "username" 设置下自己提交的用户名 git config --global user.email " ...
- 牛客练习赛60E 旗鼓相当的对手
dsu on tree 题目链接 点我跳转 题目大意 给你一棵以\(1\)为根节点,包含\(n\)个节点的树和一个参数 \(k\),求每个节点的"\(rating\)" \(rat ...
- prometheus监控实战--基础
1.简介 prometheus就是监控系统+TSDB(时间序列数据库),通过pull方式从exporter获取时间序列数据,存入本地TSDB,被监控端需安装exporter作为http端点暴露指标数据 ...
- 【flask-migrate】:ERROR [root] Error: Target database is not up to date.
问题:flask-migrate数据迁移添加新的表,执行python manager.py db migrate 出现Target database is not up to date 原因: 1. ...
- Spring Boot第一天
1.首先在idea中创建一个maven项目,创建成功后在pom.xml中添加SpringBoot相关的依赖 <!--引入SpringBoot相关的依赖--> <parent> ...
- Invalid operation updata 错误解决方法
错误: huny@DESKTOP-N1EBKQP:/mnt/c/Users/Administrator$ sudo apt-get updata E: Invalid operation updata ...
- J - Sushi 题解(期望dp)
题目链接 题目大意 给你n个盘子,每个盘子可能有1,2,3个披萨 你选到每个盘子的概率是一样的. 你如果选到空的盘子什么都不做 如果你选到有披萨的盘子则吃掉一个披萨 求吃完所有披萨的期望 题目思路 设 ...
- SpringBoot系列:六、集成Swagger文档
本篇开始介绍Api文档Swagger的集成 一.引入maven依赖 <dependency> <groupId>io.springfox</groupId> < ...