[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)

大家都在看

  • 操作系统实现-printk

    博客网址:www.shicoder.top微信:18223081347欢迎加群聊天 :452380935 这一次我们来实现最基础,也是最常见的函数 print,大家都知道这个是可变…

    Linux 2023年6月13日
    0108
  • 使用URL快捷方式提高效率

    阅文时长 | 0.9分钟字数统计 | 1453.6字符主要内容 | 1、引言&背景 2、URL格式基本格式介绍 3、附录:Hotkey详细参数 4、拓展:收藏夹中的URL格…

    Linux 2023年6月14日
    0100
  • linux(Ubuntu)安装python

    提前安装一个依赖环境 (1)ubuntu/Debian: sudo apt-get install -y gcc make cmake build-essential libssl…

    Linux 2023年6月7日
    0103
  • java调用python的惨痛史(无法获取环境变量)

    环境:java,was,python2.6,红帽linux,oracle,python用cx_Oracle事情是这样的,有个需求,需要对数据库进行处理,简单说就是把数据取出来,用p…

    Linux 2023年6月6日
    084
  • 从台积电增产28纳米产线看袁项之争

    由台积电增建南京28纳米产线引发的袁项之争,他们的观点和论据,我总结一下,大致如下: 袁:引进外资,鼓励竞争,产生鲶鱼效应,让芯片代工产业快速活跃起来,百花齐放,消费者受益。并举了…

    Linux 2023年6月6日
    096
  • linux系统编码修改

    查看当前系统默认采用的字符集locale 查看系统当前编码echo $LANG如果输出为:en_US.UTF-8 英文zh_CN.UTF-8 中文 查看系统是否安装中文字符集loc…

    Linux 2023年6月6日
    099
  • 重写并自定义依赖的原生的Bean方法

    转载请注明出处: 在项目开发过程中,往往是直接应用很多jar包中依赖且声明好的Bean,拿来即用,但很多场景也需要对这些原生的Bean 进行自定义,定制化封装,这样在项目使用的过程…

    Linux 2023年6月15日
    0128
  • Apache Shiro反序列化漏洞(Shiro550)

    1.漏洞原理: Shiro 是 Java 的一个安全框架,执行身份验证、授权、密码、会话管理 shiro默认使用了CookieRememberMeManager,其处理cookie…

    Linux 2023年6月13日
    075
  • SQL中连接(JOIN)子句介绍

    本文主要介绍 SQL(Structured Query Language)中连接(JOIN)子句的相关知识,同时通过用法示例介绍连接的常见用法。 说明:本文的用法示例是面向 MyS…

    Linux 2023年6月13日
    077
  • 《拉钩课程 — 重学数据结构与算法》学习笔记

    一、代码效率优化方法论 1、数据结构,从名字上来看是数据的结构,也就是数据的组织方式。 2、复杂度是衡量代码运行效率的重要度量因素。 3、复杂度是一个关于输入数据量 n 的函数。假…

    Linux 2023年6月16日
    0109
  • 003Linux查看文件内容的5个命令姿势

    Linux 中查看文件内容常用的有如下 5 个命令: cat cat 命令常用格式示例: cat [文件名] # 输出文件所有内容到屏幕上。 cat [文件1] [文件2] # 输…

    Linux 2023年5月27日
    095
  • SpringBoot 多环境配置文件切换

    背景 很多时候,我们项目在开发环境和生成环境的环境配置是不一样的,例如,数据库配置,在开发的时候,我们一般用测试数据库,而在生产环境的时候,我们是用正式的数据,这时候,我们可以利用…

    Linux 2023年6月14日
    0142
  • WPF 开源二维绘画小工具 GeometryToolDemo 项目

    这是一个演示 WPF 进行二维绘画的小工具 Demo 项目,基于 MIT 协议在 GitHub 上完全开源 这是一个演示 WPF 进行二维绘画的小工具 Demo 项目,基于 MIT…

    Linux 2023年6月6日
    0112
  • 手撕spring核心源码,彻底搞懂spring流程

    引子 十几年前,刚工作不久的程序员还能过着很轻松的日子。记得那时候公司里有些开发和测试的女孩子,经常有问题解决不了的,不管什么领域的问题找到我,我都能帮她们解决。但是那时候我没有主…

    Linux 2023年6月14日
    0122
  • 对抗攻击方法BIM与PGD的区别

    Basic iterative method(BIM):论文地址 笔记地址 Projected gradient descent(PGD):论文地址 笔记地址 区别1 来自于:ht…

    Linux 2023年6月7日
    0103
  • 【Example】C++ STL 常用容器概述

    前排提醒: 由于 Microsoft Docs 全是机翻。所以本文表格是我人脑补翻+审校。 如果有纰漏、模糊及时反馈。 了解每一种容器的特性、知道什么情况下用什么容器就可以。 序列…

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