有关Git基础操作的学习
Git简介
Git是一个免费的开源 分布式版本控制系统,旨在快速高效地处理从小型到大型项目的所有内容。
Git 易于学习, 占地面积小,具有闪电般的快速性能。它具有诸如Subversion,CVS,Perforce和ClearCase之类的SCM工具,并且具有廉价的本地分支,方便的暂存区域和 多个工作流等功能。
首先查看电脑上有没有git
- 打开终端,输入git命令,一般安装了xcode之后会自动安装git,这里git的安装不再赘述
git

显示以上则表示安装了git
配置本地设置
- 配置username和email(--global代表了全局设置)
git config --global user.name "r1cardo"
git config --global user.email "86329863@qq.com"
- 通过终端命令创建ssh key
ssh-keygen -t rsa -C "86329863@qq.com"

由于我已经创建了ssh key,这里选的n,没有创建过的,会要求确认路径和输入密码,我们这使用默认的一路回车就行。成功的话会在~/下生成.ssh文件夹,进入文件夹,打开id_rsa.pub,复制里面的key。
使用终端查看.ssh/id_rsa.pub文件
cat .ssh/id_rsa.pub

- 接下来登录 GitHub,点击进入GitHub官网登录(如果你还没有注册github账号先注册一个账号),登录成功后,添加ssh key,点击Settings。

- 进入设置页面,首先点击 SSH and GPG keys ,再点击 new SSH key 添加key。

*接下来填写一个title,然后将刚才在终端复制的key 粘贴进来。

- 接下来使用终端进行链接验证。若提示 Are you sure you want to continue connecting (yes/no/[fingerprint])? 输入 yes
ssh -T git@github.com
若终端输出如图所示,说明已经链接成功。

- 然后在Github上面新建项目并且clone到本地,这里不再赘述,如果clone较慢,可以使用镜像,在原链接上加上cnpmjs.org
https://github.com.cnpmjs.org/xxx
接着就是对仓库代码进行修改,准备上传
- 进入到clone的文件夹的路径后,首先新建分支,在当前的子分支上面提交代码到远程子分支上,如果是第一次新建分支,是默认没有本地主分支的,需要先push一下main分支
git push origin main
- 然后本地有main分支后,将远程main分支的代码pull下来,因为每次提交前必须保证你的main分支上的是最新的代码,否则大概率会出问题(必须在main分支上执行)
git pull origin main
- 然后创建分支
git branch <分支名>
- 可以通过命令查看有哪些分支
git branch
- 然后切换到新建的分支上
git checkout <分支名>
- 把本地分支推到远端,让远端也有你的分支,用于后面提交代码
git push origin <分支名>
提交代码
- 在新建的分支上写完代码之后,就可以提交代码了。此时应该在你新建的分支上
git status 可以查看自己写了什么东西
git add . 点代表所有文件,放入暂存区中
git commit -m "这里填写本次commit的描述"
git push origin <分支名> 然后将代码push到你的远端分支上(有可能报错,根据错误hint来修改)
- 在将修改的代码push到远端分支后,远端分支就有了修改,接下来就是用main分支合并你的分支
git checkout <分支名> 首先切换到你的分支
git pull origin <分支名> 然后将你的远端分支的代码pull下来(因为有可能不止一人在你的分支上修改,所以要保证你的分支上的代码也是最新的)
git checkout main 然后切换到主分支
git merge <分支名> 将你的分支合并到main分支
git push origin main 再将你的main分支的代码修改push到远端的main分支
git checkout <分支名> 最后切换到你的分支继续工作
总结
- 总的来说,分支分为本地分支和远程分支,你每次修改代码并上传必须在自己的分支上进行,最后再用main分支合并,并且每次修改前都必须保证当前代码是代码库中的最新代码,不然很容易功亏一篑,在网上看别人写的最好用rebase命令不要用merge命令,现在感觉还用不到rebase,等以后深入研究再了解,一些细节借鉴了别人的博客:
https://blog.csdn.net/qq_39052513/article/details/104637326
https://blog.csdn.net/weixin_43367262/article/details/100575221
https://blog.csdn.net/bufegar0/article/details/109597640
有关Git基础操作的学习的更多相关文章
- Git基础操作
配置秘钥 1.检查本机有没有秘钥 检查~/.ssh看看是否有名为d_rsa.pub和id_dsa.pub的2个文件. $ ~/.sshbash: /c/Users/lenovo/.ssh: Is a ...
- 《Pro Git》笔记2:Git基础操作
第二章 Git基础 Git基础包括:版本库的创建和获取,文件添加修改提交等基本操作,状态查询,远程版本库管理和同步,打标签. 1.取得项目的Git版本库 基于Git的工作流要以Git版本库为基础,即可 ...
- python flask学习(1)与Git基础操作
今天从简单的flask开始完成Flask web开发的学习.今天学习了Git和GitHub项目的提交. Git尝试提交过程中出现了"Could not read from remote re ...
- Git 学习笔记--1.Git基础操作
取得项目的Git仓库 有两种方式取得Git项目仓库.第一种是在现存的目录下,通过导入所有文件来创建新的Git仓库.第二种是从已有的Git仓库克隆出一个新的镜像仓库. 在工作目录中初始化新仓库 要对现 ...
- Git 基础操作
[TOC] 在Linux上安装Git $ git --version #查看git的版本号 $ sudo apt-get install git # 安装git 创建版本库 $ git init # ...
- 【Git】Git基础操作
repository:版本库又名仓库,可以简单理解成一个目录,这个目录里面的所有文件都可以被Git管理起来,每个文件的修改.删除,Git都能跟踪,以便任何时刻都可以追踪历史,或者在将来某个时刻可以&q ...
- python git 基础操作
模块安装 pip install gitpython 基本用法 1. 初始化 from git import Repo Repo.init('/data/test2') # 创建一个git文件夹 # ...
- 『现学现忘』Git基础 — 14、Git基础操作的总结与补充
目录 1.Git本地版本库结构 2.Git常用操作方法 3.补充:添加多个文件到暂存区 4.补充:提交操作未写备注 5.补充:从工作区直接提交到版本库 1.Git本地版本库结构 如下图所示: 工作区( ...
- 一篇长文说 git 基础
版本管理在产品级开发中是非常重要的一个部分,它涉及到团队协作,且影响到产品最终的发布.上线以及测试环节,当前最流行的版本控制系统是 git.git 内容非常多,本文尽量克制地来介绍 git 的基础内容 ...
随机推荐
- kafka-简介-01
1.kafka是什么? Kafka是最初由Linkedin公司开发,是一个分布式.支持分区的(partition).多副本的(replica),基于zookeeper协调的分布式消息系统,它的最大的特 ...
- 干货满满 AppGallery Connect研习社·直播深度解析优质应用开发流程
- Mybatis3源码笔记(四)Configuration(续)
1.pluginElement(root.evalNode("plugins")) 解析plugins节点(注册interceptorChain里记录对应的拦截器) private ...
- Mybatis3源码笔记(三)Configuration
1. XMLConfigBuilder 上一篇大致介绍了SqlSession的生成.在DefaultSqlSessionFactory的构造函数中就提到了Configuration这个对象.现在我们来 ...
- C++ Primer Plus(第6版)中文版电子版awz+epub+mobi三版
电子书资源:C++ Primer Plus(第6版)中文版 书籍简介: C++是在C语言基础上开发的一种集面向对象编程.通用编程和传统的过程化编程于一体的编程语言,是C语言的超集.<C++ ...
- mybatis的本质和原理
背景 项目需要,我们需要自己做一套mybatis,或者使用大部分mybatis的原始内容.对其改造,以适应需要.这就要求我再次学习一下mybatis,对它有更深入的了解. 是什么 MyBatis ...
- 前后端分离中的无痛刷新token机制
今天我们来说一说前后端分离中的无痛刷新token机制 博主先来分享一波福利,最近挖到的宝藏,刚开始学Java的同学看 https://www.bilibili.com/video/BV1Rx41187 ...
- UT之最后一测
经过前面几次文章的分享的UT的相关知识,今天接着分享UT相关最后一测文章,希望对大家在UT的学习中有一点点的帮助. Spring集成测试 有时候我们需要在跑起来的Spring环境中验证,Spring ...
- postman传入cookie的三种方式
1.直接在环境变量里面设置 2.在登录接口的tests,把返回值的cookie设置为全局变量 3.直接在cookie里面传入
- php判断请求类型(ajax|get|post|cli)
php判断请求类型,可以通过 $_SERVER 相关的参数来实现, 这个很在对某些请求代码复用里面很常用.具体代码如下: /** *@todo: 判断是否为post */ if(!function_e ...