首页 > 其他分享 >Git进阶实用命令

Git进阶实用命令

时间:2024-11-15 11:31:10浏览次数:1  
标签:origin git 进阶 实用 Git master commit 远程 分支

总结最常用的git命令操作。Mac推荐可视化软件Sourcetree

image

1. 本地仓库

git init # 初始化本地git 以下所有操作的前提条件

git add -A # 添加当前所有变动文件到本地缓存区
git commit -m '<commit-word>' # 提交缓存区内容到本地仓库
git commit -am '<commit-word>' # 上面两步合并为一步的命令

git checkout master
git checkout -b <feat-name> # 新建feat-name分支并切换到该分支

git branch -a # 列出所有本地分支和远程分支
git branch -D <feat-name> # 删除本地feat-name分支

git status # 显示当前分支状态
git reset --hard # 回滚到最近的commit
git config --list # 显示当前的Git配置

2. 远程仓库

git remote add origin <URL> # 关联远程仓库,以下操作的前提条件
git remote -v # 显示远程仓库

git pull # 拉取远程代码到本地
git push -u origin master # 推送本地到远程master分支
git push origin :branch-name # 删除远程分支 # 等同于 git push origin --delete [branch-name]

git merge feat-name # feat-name分支内容合并到当前分支,适合不同分支间commit合并操作

3. 高级

# 变基。
# 记住,rebase操作永远不在公共分支操作;同时rebase与公共分支名永远不同时出现
# 场景1:减少同一分支提交记录
# 交互式合并当前分支最近三次的记录,用于简化提交记录。
# 注意:不要合并先前提交的东西,也就是已经提交远程分支的纪录。
git rebase -i HEAD~3

# 场景2: 把feat-A变得基于feat-B
# # 把当前A分支的提交commit,变基到A和B分支共同祖先的commit上,然后加上B分支后续的commit。
git reabse feat-B

# 子模块
git submodule add https://github.com/djyde/ToProgress # 添加子模块
git submodule status # 检查子模块状态
git submodule update ToProgress # 更新子模块
git submodule deinit ToProgress && git rm ToPogress # 删除子模块

# Tag
git tag # 查看tag
git tag -a <tag-name> -m <comment> # 新建tag
git push origin --tags # 推送tag

4. 常用

4.1 部署gh-pages

// 部署gh-pages主页(一直在master分支上执行)
# 1. 把dist分支上传到master分支
npm run build && git commit -am 'deploy'
# 2. 意思是把远程master(注意不是本地master)分支的dist文件夹,
# 推送到远程的gh-pages分支。
git subtree push --prefix dist origin gh-pages

可以设置deploy命令:

"deploy": "npm run build && git commit -am 'deploy' && git subtree push --prefix dist origin gh-pages",

以上是使用原生git命令,实际项目中更推荐gh-pages这样的工具包。

4.2 fork仓库同步代码

将源项目代码同步到Fork出来的个人项目上

#拉取Fork出来的分支
git clone Fork的分支url

#注意:进入项目根目录,执行下面操作

#查看所有远程库(remote repo)的远程url
git remote -v

#添加源分支url
git remote add upstream 替换成源项目url

#查看所有远程库(remote repo)的远程url
git remote -v

#从源分支获取最新的代码
git fetch upstream

#切换到主分支
git checkout master

#合并本地分支和源分支,本地库和远程的github原仓库同步
git merge upstream/master

#push到fork分支,本地的仓库提交到github
git push origin master

4.3 git emoji

执行 git commit 时使用 emoji 为本次提交打上一个 "标签", 使得此次 commit 的主要工作得以凸现,也能够使得其在整个提交历史中易于区分与查找。

emojiemoji 代码commit 说明

标签:origin,git,进阶,实用,Git,master,commit,远程,分支
From: https://www.cnblogs.com/wpshan/p/18547633

相关文章

  • 分布式管理进阶:HarmonyOS Next 中的设备信息查询与状态监听
    本文旨在深入探讨华为鸿蒙HarmonyOSNext系统(截止目前API12)的技术细节,基于实际开发实践进行总结。主要作为技术分享与交流载体,难免错漏,欢迎各位同仁提出宝贵意见和问题,以便共同进步。本文为原创内容,任何形式的转载必须注明出处及原作者。在探索HarmonyOSNext的分布式管理服务时......
  • Chrome DevTools Protocol 进阶: Page域
    前言本章开始我们将进一步学习ChromeDevToolsProtocol(CDP),首先切入的内容是CDP中的域。在ChromeDevToolsProtocol(CDP)中,Page域是一个至关重要的部分,它负责控制浏览器页面的导航、加载、渲染以及其他与页面相关的操作。通过Page域,你可以执行页面跳转、截图、处理弹......
  • ArkUI进阶-1
    文章目录ArkUI(方舟UI框架)1.简介2.基本概念3.概述4.布局1.概述2.通用布局属性1.盒子属性2.背景属性3.定位属性4.通用属性3.线性布局(Row,Column)4.弹性布局(Flex)5.层叠布局(Stack)6.轮播(Swiper)......
  • 第三章:YashanDB 对象管理(进阶篇)
    YashanDB对象管理(进阶篇)表管理表是YashanDB中数据存储基本单元。每个表都是由列和行组成的。创建表时,需要指定表类型。表上可以有约束用于确保数据的有效性表的存储结构存储结构-Segment表——>表段索引——>索引段延迟段的创建USER_TABLESUSER_SEGMENTSR......
  • python进阶——快速掌握【文件操作】(内附代码)
    1.文件操作1.0文件操作的重要性和应用场景1.1文件的基本概念1.1.1文件的概念文件是一个存储在某种持久性存储介质【硬盘、光盘、磁盘等】上的数据的结合。文件可包含各种类型的信息:文本、图像、音频、视频、应用程序代码、其他类型的二进制数据。文件通常由数据、元......
  • 快速掌握 python进阶【异常处理】【文件操作】
    一、异常处理机制异常的定义:程序运行时发生的不正常事件。使用异常处理机制,捕获异常,处理异常。异常分为:内置异常、自定义异常。1.1内置异常处理异常处理是对异常进行捕获、抛出、处理,提高程序健壮性的机制。算法的设计要求:正确性、可读性、健壮性、高效率、低存储使用......
  • 30道Spring高频面试题,学完吊打面试官(实用干货!!!)
    1、什么是Spring框架?Spring框架有哪些主要模块?答:Spring框架是一个为Java应用程序的开发提供了综合、广泛的基础性支持的Java平台。Spring帮助开发者解决了开发中基础性的问题,使得开发人员可以专注于应用程序的开发。Spring框架本身亦是按照设计模式精心打造,这使得我们可......
  • 最近很火的获取qq发布历史说说github开源项目
    下载地址:https://www.alipan.com/s/Sga2RsVWuo4github地址:https://github.com/LibraHp/GetQzonehistory该项目通过获取QQ空间的历史消息列表来获取该账号下发布的所有说说(当然消息列表中没有的就获取不到,例如一些仅自己可见的说说)使用方式很简单,使用QQ扫码登录即可。......
  • 极狐GitLab 发布安全补丁版本17.5.2, 17.4.4, 17.3.7
    本分分享极狐GitLab补丁版本17.5.2,17.4.4,17.3.7的详细内容。这几个版本包含重要的缺陷和安全修复代码,我们强烈建议所有私有化部署用户应该立即升级到上述的某一个版本。对于极狐GitLabSaaS,技术团队已经进行了升级,无需用户采取任何措施。极狐GitLab正式推出面向GitLab......
  • 在云服务器搭建 GitLab
    操作场景GitLab是使用Ruby开发的开源版本管理系统,以Git作为代码管理工具并实现自托管的Git项目仓库,可通过Web界面访问公开或私人的项目。本文介绍如何在腾讯云云服务器上安装并使用GitLab。示例版本GitLab:社区版14.6.2本文使用的云服务器配置如下:vCPU:2核内存:4......