热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

有关Git基础操作的学习

有关Git基础操作的学习-Git简介Git是一个免费的开源分布式版本控制系统,旨在快速高效地处理从小型到大型项目的所有内容。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

推荐阅读
  • 本文将介绍如何编写一些有趣的VBScript脚本,这些脚本可以在朋友之间进行无害的恶作剧。通过简单的代码示例,帮助您了解VBScript的基本语法和功能。 ... [详细]
  • 本文详细介绍如何使用Python进行配置文件的读写操作,涵盖常见的配置文件格式(如INI、JSON、TOML和YAML),并提供具体的代码示例。 ... [详细]
  • 从零开始构建完整手机站:Vue CLI 3 实战指南(第一部分)
    本系列教程将引导您使用 Vue CLI 3 构建一个功能齐全的移动应用。我们将深入探讨项目中涉及的每一个知识点,并确保这些内容与实际工作中的需求紧密结合。 ... [详细]
  • 本文详细介绍如何在Linux系统中配置SSH密钥对,以实现从一台主机到另一台主机的无密码登录。内容涵盖密钥对生成、公钥分发及权限设置等关键步骤。 ... [详细]
  • 解决FCKeditor应用主题后上传问题及优化配置
    本文介绍了在Freetextbox收费后选择FCKeditor作为替代方案时遇到的上传问题及其解决方案。通过调整配置文件和调试工具,最终解决了上传失败的问题,并对相关配置进行了优化。 ... [详细]
  • 本文详细介绍了如何解决Uploadify插件在Internet Explorer(IE)9和10版本中遇到的点击失效及JQuery运行时错误问题。通过修改相关JavaScript代码,确保上传功能在不同浏览器环境中的一致性和稳定性。 ... [详细]
  • PHP 5.2.5 安装与配置指南
    本文详细介绍了 PHP 5.2.5 的安装和配置步骤,帮助开发者解决常见的环境配置问题,特别是上传图片时遇到的错误。通过本教程,您可以顺利搭建并优化 PHP 运行环境。 ... [详细]
  • UNP 第9章:主机名与地址转换
    本章探讨了用于在主机名和数值地址之间进行转换的函数,如gethostbyname和gethostbyaddr。此外,还介绍了getservbyname和getservbyport函数,用于在服务器名和端口号之间进行转换。 ... [详细]
  • MySQL 数据库迁移指南:从本地到远程及磁盘间迁移
    本文详细介绍了如何在不同场景下进行 MySQL 数据库的迁移,包括从一个硬盘迁移到另一个硬盘、从一台计算机迁移到另一台计算机,以及解决迁移过程中可能遇到的问题。 ... [详细]
  • Scala 实现 UTF-8 编码属性文件读取与克隆
    本文介绍如何使用 Scala 以 UTF-8 编码方式读取属性文件,并实现属性文件的克隆功能。通过这种方式,可以确保配置文件在多线程环境下的一致性和高效性。 ... [详细]
  • 解决JAX-WS动态客户端工厂弃用问题并迁移到XFire
    在处理Java项目中的JAR包冲突时,我们遇到了JaxWsDynamicClientFactory被弃用的问题,并成功将其迁移到org.codehaus.xfire.client。本文详细介绍了这一过程及解决方案。 ... [详细]
  • 使用GDI的一些AIP函数我们可以轻易的绘制出简 ... [详细]
  • 本题探讨如何通过最大流算法解决农场排水系统的设计问题。题目要求计算从水源点到汇合点的最大水流速率,使用经典的EK(Edmonds-Karp)和Dinic算法进行求解。 ... [详细]
  • 优化局域网SSH连接延迟问题的解决方案
    本文介绍了解决局域网内SSH连接到服务器时出现长时间等待问题的方法。通过调整配置和优化网络设置,可以显著缩短SSH连接的时间。 ... [详细]
  • 本文介绍了 Winter-1-C A + B II 问题的详细解题思路和测试数据。该问题要求计算两个大整数的和,并输出结果。我们将深入探讨如何处理大整数运算,确保在给定的时间和内存限制下正确求解。 ... [详细]
author-avatar
余挺空荡荡_833
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有