当前位置: 首页 > news >正文

git初级使用学习(图文)


以后工作少不了使用git,记录一下今天的学习,防止忘记

Git 是一个分布式版本控制系统,常用于代码管理和团队协作

首先新建一个文件夹,作为本地仓库

mkdir git-practice

初始化仓库

git init

新建个test1.cpp文件,并写好代码

这步是将该文件从工作区添加到暂存区里面去。(git add . 提交全部)

git add test1.cpp

然后用命令 git commit -m 文件提交到仓库。(注意 -m 后面是提交时添加的注释)

git commit -m 'test1.cpp第一次提交'

此时会问你的git账号

如果在所有 Git 仓库中使用同一个用户名和邮箱,可以使用 --global 选项配置全局身份:

git config --global user.name "Your Name"
git config --global user.email "your_email@example.com"

如果只为当前项目设置特定的身份信息,可以省略 --global,这样只会影响当前仓库:

git config user.name "Your Name"
git config user.email "your_email@example.com"

然后再提交就可以了

用命令 git status来查看当前仓库的状态,显示哪些文件被修改了、哪些文件需要提交。

对test1.cpp进行修改后重新git status查看仓库状态

 这时,我们在未提交的情况下 git diff 可以查看修改了什么内容

可以看到加了一行xiugai的内容

当我们修改后再次执行git commit -m 'test1.cpp第二次提交'后,可以通过git log: 查看仓库的提交历史。

此时可以通过版本号回退 git reset --hard 版本号。

获取版本号的命令为:git reflog 

然后再次查看test1.cpp的内容,发现已经变到第一次提交的内容了

创建并切换到新分支

git checkout -b fenzhi1

如果单纯创建新分支

git branch <branch_name>

如果单纯切换到别的分支

git checkout <branch_name>

 git branch是查看所有分支

然后是将代码推送到远程仓库,也就是放到网站上,我们先建一个仓库

然后在本地的git-practice仓库下运行命令:
git remote add origin https://github.com/shikaiaixuexi/git-practice (这里要写自己的地址)关联一个远程库

然后把本地库的内容推送到远程,使用 git push origin master命令,实际上是把当前分支master推送到远程

git push origin master

第一次会向您要gihub用户名和个人访问令牌

个人访问令牌如何获得:

首先打开settings->Developer settings->Personal access tokens,然后选择 Tokens (classic),再点击 Generate new token,填写个人访问令牌名称(起个名字即可),设置个人访问令牌有效期,设置你的个人访问令牌的权限(建议勾选的权限包括repo、user),然后单击页面下方的【Generate token】生成个人访问令牌,在创建成功页中,GitHub 会显示个人访问令牌,是一串字符。请及时复制并保存个人访问令牌,离开或刷新页面后,将无法再查看新建的个人访问令牌。

依次将用户名和个人令牌输入后

此时我们看github仓库里有了我们提交的代码

 这样一些基本使用方法都知道了,之后的高级命令,如 git stashgit rebase 等我们陆续更新学习笔记

相关文章:

  • Java零工市场小程序如何改变自由职业者生活
  • android.bp cc_test
  • 【MySQL内置数据库】 mysql
  • HTTP 1.0 2.0 3.0详解
  • GO语言环境搭建和字符说明
  • Android studio配置AVD虚拟机
  • Unity实战案例全解析:RTS游戏的框选和阵型功能 总结
  • 关于Elastic Search与MySQL之间的数据同步
  • 如何利用ChatGPT开发一个盈利的AI写作助手网站
  • k8s集群搭建(保姆级教程以及遇到的各种问题解决)
  • CSDN 的 GIt 是没东西吗
  • 机器学习笔记
  • <<机器学习实战>>10-11节笔记:生成器与线性回归手动实现
  • C#和Python共享内存技术
  • Webpack 打包后文件过大,如何优化?
  • 【162天】黑马程序员27天视频学习笔记【Day02-上】
  • avalon2.2的VM生成过程
  • gulp 教程
  • Java 内存分配及垃圾回收机制初探
  • js中的正则表达式入门
  • Mithril.js 入门介绍
  • php中curl和soap方式请求服务超时问题
  • text-decoration与color属性
  • Theano - 导数
  • Transformer-XL: Unleashing the Potential of Attention Models
  • vue+element后台管理系统,从后端获取路由表,并正常渲染
  • vue脚手架vue-cli
  • 工程优化暨babel升级小记
  • 汉诺塔算法
  • 七牛云 DV OV EV SSL 证书上线,限时折扣低至 6.75 折!
  • 如何选择开源的机器学习框架?
  • 小程序、APP Store 需要的 SSL 证书是个什么东西?
  • 在Mac OS X上安装 Ruby运行环境
  • 《天龙八部3D》Unity技术方案揭秘
  • ​​​​​​​开发面试“八股文”:助力还是阻力?
  • ​二进制运算符:(与运算)、|(或运算)、~(取反运算)、^(异或运算)、位移运算符​
  • ​决定德拉瓦州地区版图的关键历史事件
  • !!Dom4j 学习笔记
  • # 计算机视觉入门
  • # 数论-逆元
  • #HarmonyOS:软件安装window和mac预览Hello World
  • #宝哥教你#查看jquery绑定的事件函数
  • #常见电池型号介绍 常见电池尺寸是多少【详解】
  • #单片机(TB6600驱动42步进电机)
  • (1)无线电失控保护(二)
  • (Mac上)使用Python进行matplotlib 画图时,中文显示不出来
  • (草履虫都可以看懂的)PyQt子窗口向主窗口传递参数,主窗口接收子窗口信号、参数。
  • (二)windows配置JDK环境
  • (附源码)php投票系统 毕业设计 121500
  • (一)Docker基本介绍
  • (一)基于IDEA的JAVA基础1
  • (原)记一次CentOS7 磁盘空间大小异常的解决过程
  • .bat批处理(四):路径相关%cd%和%~dp0的区别
  • .mysql secret在哪_MYSQL基本操作(上)
  • .Net Core 微服务之Consul(三)-KV存储分布式锁