有关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 的基础内容 ...
随机推荐
- TypeScript在React项目中的使用总结
序言 本文会侧重于TypeScript(以下简称TS)在项目中与React的结合使用情况,而非TS的基本概念.关于TS的类型查看可以使用在线TS工具TypeScript游乐场 React元素相关 Re ...
- 关于Vim/Neovim/SpaceVim的一些思考
1 前言 最近看到了Neovim以及SpaceVim,于是上手试了一下. 2 Neovim与SpaceVim Neovim是Vim的一个分支,具有更加现代的GUI.嵌入式以及脚本化的终端.异步工作控制 ...
- Typora+PicGo+阿里云写博客笔记
Typora+PicGo+阿里云写博客笔记 选择这三个工具的理由 我一直有在使用typora使用mardown写作,毕竟typora很香,可以实时预览,非常丝滑. 配合上PicGo这个图床工具简直绝了 ...
- 数据结构(1):稀疏数组使用java实现
主要是用于数组压缩,去除无效的数组内容: 原数组内容: 0 0 0 0 0 0 1 0 0 0 0 0 0 2 0 0 0 0 0 0 0 0 0 0 0 转换成 稀疏数组 5 5 2 1 1 1 2 ...
- 【JavaWeb】 Cookie和Session
Session和Cookie出现的原因: 由于Http是无状态的协议,会话之间没有任何关联,也就是上一次会话和下一次会话没有任何关联,因此出现了会话技术Cookie和Session 下面分别从Cook ...
- 基于防火墙的VRRP技术--华为防火墙双机热备--VGMP
目录 主备备份双机热备配置 负载分担双机热备配置 为了解决多个VRRP备份组状态不一致的问题,华为防火墙引入VGMP(VRRP Group Management Protocol)来实现对VRRP备份 ...
- POJ3322滚箱子游戏(不错)
题意: 讲的是一个游戏,就是在一个平面上滚动一个1*1*2的长方体的游戏,在本题里面的游戏规则是这样的: (1) 一开始给你箱子的状态,可能是横着也可能是竖着. (2) ...
- Java中常见的包
目录 JDK自带的包 第三方包 JDK自带的包 JAVA提供了强大的应用程序接口,既JAVA类库.他包含大量已经设计好的工具类,帮助程序员进行字符串处理.绘图.数学计算和网络应用等方面的工作.下面简单 ...
- WIN64内核编程-的基础知识
WIN64内核编程基础班(作者:胡文亮) https://www.dbgpro.com/x64driver 我们先从一份"简历"说起: 姓名:X86或80x86 性别:? 出生 ...
- js中return;、return true、return false;区别
一.返回控制与函数结果 语法为:return 表达式 语句结束函数执行,返回调用函数,而且把表达式的值作为函数的结果 二.返回控制 无函数结果,语法为:return; 在大多数情况下,为事件处理函数返 ...