[Git]Github代码版本管理

参考:

安装Git

配置工具

对所有本地仓库的用户信息进行配置

$ git config --global user.name "[name]"

对你的commit操作设置关联的用户名

$ git config --global user.email "[email address]"

对你的commit操作设置关联的邮箱地址

$ git config --global color.ui auto

启用有帮助的彩色命令行输出

创建仓库

当着手于一个新的仓库时,你只需创建一次。要么在本地创建,然后推送到 GitHub;要么通过 clone 一个现有仓库。

$ git init

在使用过 git init 命令后,使用以下命令将本地仓库与一个 GitHub 上的空仓库连接起来:

$ git remote add origin [url]

将现有目录转换为一个 Git 仓库

$ git clone [url]

Clone(下载)一个已存在于 GitHub 上的仓库,包括所有的文件、分支和提交(commits)

分支管理

分支是使用 Git 工作的一个重要部分。你做的任何提交都会发生在当前”checked out”到的分支上。使用 git status 查看那是哪个分支。

$ git branch [branch-name]

创建一个新分支

$ git switch -c [branch-name]

切换到指定分支并更新工作目录(working directory)

$ git merge [branch]

将指定分支的历史合并到当前分支。这通常在拉取请求(PR)中完成,但也是一个重要的 Git 操作。

$ git branch -d [branch-name]

删除指定分支

进行更改

浏览并检查项目文件的发展

$ git log

列出当前分支的版本历史

$ git log --follow [file]

列出文件的版本历史,包括重命名

$ git diff [first-branch]...[second-branch]

展示两个分支之间的内容差异

$ git show [commit]

输出指定commit的元数据和内容变化

$ git add [file]

将文件进行快照处理用于版本控制

$ git commit -m "[descriptive message]"

将文件快照永久地记录在版本历史中

重做提交

清除错误和构建用于替换的历史

$ git reset [commit]

撤销所有 [commit] 后的的提交,在本地保存更改

$ git reset --hard [commit]

放弃所有历史,改回指定提交。

同步更改

将你本地仓库与 GitHub.com 上的远端仓库同步

$ git fetch

下载远端跟踪分支的所有历史

$ git merge

将远端跟踪分支合并到当前本地分支

$ git pull

将所有本地分支提交上传到 GitHub

$ git push

使用来自 GitHub 的对应远端分支的所有新提交更新你当前的本地工作分支。 git pullgit fetchgit merge 的结合

.gitignore 文件

术语表

  • git: 一个开源的分布式版本控制系统
  • GitHub: 一个托管和协作管理 Git 仓库的平台
  • commit 提交: 一个 Git 对象,是你整个仓库的快照的哈希值
  • branch 分支: 一个轻型可移动的 commit 指针
  • clone: 一个仓库的本地版本,包含所有提交和分支
  • remote 远端: 一个 GitHub 上的公共仓库,所有小组成员通过它来交换修改
  • fork: 一个属于另一用户的 GitHub 上的仓库的副本
  • pull request 拉取请求: 一处用于比较和讨论分支上引入的差异,且具有评审、评论、集成测试等功能的地方
  • HEAD: 代表你当前的工作目录。使用 git checkout 可移动 HEAD 指针到不同的分支、标记(tags)或提交

Original: https://www.cnblogs.com/Skybiubiu/p/15746123.html
Author: SkyBiuBiu
Title: [Git]Github代码版本管理

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/606244/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

  • 前端开发:如何正确地跨端

    导读:面对多种多样的跨端诉求,有哪些跨端方案?跨端的本质是什么?作为业务技术开发者,应该怎么做?本文分享阿里巴巴ICBU技术部在跨端开发上的一些思考,介绍了当前主流的跨端方案,以及…

    Linux 2023年6月8日
    079
  • [数据库]ACID、CAP、BASE特性

    SQL与noSQL 对比项 关系型SQL 非关系型SQL 关系表 数据集(键值/JSON文档/哈希表/其它) 结构化、提前定义表结构 动态调整模式,非结构化 纵向扩展,提高处理能力…

    Linux 2023年6月13日
    092
  • 基于CentOS系统安装OceanBase数据库

    一、OceanBase介绍 OceanBase是由蚂蚁集团完全自主研发的金融级分布式关系数据库,始创于2010年。OceanBase具有数据强一致、高可用、高性能、在线扩展、高度兼…

    Linux 2023年5月27日
    083
  • js之数据类型(1)

    可以返回number,string,Boolean,object,undefined,function 运行结果如下: 注意如下几个数据类型的输出 显示数据类型转换和隐式数据类型转…

    Linux 2023年6月13日
    087
  • 移动云使用 JuiceFS 支持 Apache HBase 增效降本的探索

    作者简介:陈海峰,移动云数据库 Apache HBase 开发人员,对 Apache HBase、RBF、Apache Spark 有浓厚兴趣。 背景 Apache HBase 是…

    Linux 2023年6月14日
    0140
  • 面试题汇总

    JAVA 基础 1.java 性能优化 ①尽量指定类、方法的final 修饰符 ②尽量重用对象 ③尽可能使用局部变量 ④及时关闭流 ⑤尽量减少对变量的重复计算 ⑥尽量采用懒加载的策…

    Linux 2023年6月7日
    092
  • redis缓存数据库简单使用

    1、在Linux上安装与配置 -最新:7.0 -最稳定版本:6.x-讲课:5.x-企业里:3.x,4.x,5.x 6.x(极少数公司在用)-windows:3.x,5.x 1 速度…

    Linux 2023年6月14日
    098
  • vi和vim文本编辑器

    vi和vim文本编辑器 vi和vim模式的相互切换 快捷键使用案例 拷贝当前行yy; 拷贝当前行向下的5行 5yy; 并粘贴(p) 删除当前行dd; 删除当前行向下的5行 5dd …

    Linux 2023年6月11日
    0104
  • 设计模式——–原型模式

    原型模式定义:用原型实例指定创建对象的种类,并且通过拷贝这些原型创建新的对象。 原型模式的核心是一个clone方法,通过该方法进行对象的拷贝。 代码实例 原型模式的优点:性能更加优…

    Linux 2023年6月7日
    078
  • 关于.NET CORE 编译时错误:Microsoft.AspNetCore.Razor.Design.CodeGeneration.targets(79, 5): The project XXXXX must provide a value for Configuration.

    此笔记记载了本人在编译.Net Core项目时遇到的 Microsoft.AspNetCore.Razor.Design.CodeGeneration.targets(79, 5)…

    Linux 2023年6月14日
    0112
  • 聊一聊如何搭建高性能网站哪一些事

    在开发中经常会遇到网站的性能平静下来,打开慢的情况。我们平常开发中怎么 一步一步排查这些问题并 解决问题呢 在快节奏的时代中,慢是个不容忍受的事情。 一、 为什么会’慢…

    Linux 2023年6月14日
    0132
  • 09_Linux基础-SHELL-标准输入与标准输出-重定向-管道

    09_Linux基础-SHELL-标准输入与标准输出-重定向-管道 博客🔗:https://blog.csdn.net/cpen_web 作&#x4E…

    Linux 2023年6月6日
    097
  • 工作三年的一些感悟

    前言 很久没有上博客,我是看着其中一篇文章进来,然后正好我也加起来三年,那就提笔写一下感触,出来三年基本上和有些同学断了联系,唯有室友还偶尔还会聊上几句,三年做过游戏测试、社交AP…

    Linux 2023年6月8日
    0103
  • 初识pytest

    现在这份工作一直做硬件和算法方面,但本人还是很喜欢玩web,所以自学分享一下。 如何安装pytest 其实很简单 pip install pytest pip install -U…

    Linux 2023年6月8日
    099
  • Java基础 String

    String类 字符串是一个特殊的对象。 字符串一旦初始化就不可以被改变。 String s="abc"; 特点: String构造函数 主要几个String构…

    Linux 2023年6月14日
    0136
  • gnutls_handshake() failed

    原文链接:https://www.zhoubotong.site/post/75.html使用git clone https://github.com/xxx.git的时候,出现错…

    Linux 2023年6月6日
    0106
亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球