有关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 的基础内容 ...
随机推荐
- 人生第一个扩展——Github1s
1 灵感 某天看到了一个叫github1s的仓库: 基于Node.JS.Yarn.Python等技术栈,在github.com上面加上"一秒",也就是github1s.com,就能 ...
- 由奶茶店突发奇想开始了Java设计模式:享元模式
目录 定义 意图 主要解决问题 何时使用 优缺点 结构 奶茶摊位的例子 奶茶店的例子 在什么情况下使用享元模式 定义 享元模式是对象的结构模式,享元模式以共享的方式高效的支持大量的细粒度对象,主要用于 ...
- C语言-字符串函数的实现(二)之strcpy
C语言中的字符串函数有如下这些 获取字符串长度 strlen 长度不受限制的字符串函数 strcpy strcat strcmp 长度受限制的字符串函数 strncpy strncat strncmp ...
- 转载:java.math.BigDecimal 比较大小
BigDecimal a = new BigDecimal (101); BigDecimal b = new BigDecimal (111); //使用compareTo方法比较 //注意:a.b ...
- OD调试程序常用断点大全
常用断点 拦截窗口: bp CreateWindow 创建窗口 bp CreateWindowEx(A) 创建窗口 bp ShowWindow 显示窗口 bp UpdateWindow 更新 ...
- hdu1435 稳定婚姻问题
题意: Stable Match Special Judge Problem Description Network 公司的BOSS 说现在他们公司建立的信号发射站和接收站经常出现信号发送接收不稳定的 ...
- 易酷CMS2.5本地文件包含漏洞复现
易酷CMS是一款影片播放CMS.该CMS2.5版本存在本地文件包含漏洞.我们可以利用这个漏洞,让其包含日志文件,然后再利用报错信息将一句话木马写入日志中.然后利用文件包含漏洞包含该日志文件,再用菜刀连 ...
- 重新封装了一下NODE-MONGO 使其成为一个独立的服务.可以直接通过get/post来操作
# 重新封装了一下NODE-MONGO 使其成为一个独立的服务.可以直接通过get/post来操作 # consts.js 配置用的数据,用于全局参数配置 # log.js 自己写的一个简单的存储本地 ...
- CTFHub-技能树-SSRF
SSRF 目录 SSRF 1.内网访问 2.伪协议读取文件 3.端口扫描 4.POST请求 5.上传文件 6.FastCGI协议 7.Redis 8.URL Bypass 9.数字IP Bypass ...
- C++ 三消游戏基本实现
最近在研究三消算法,我想试试在完全不借助网络资源的情况下搞定这个东西,所以有些地方可能不是最优的. 代码留此备忘. 1. 3x_desk_event.h 1 #pragma once 2 3 #ifn ...