Git使用的奇技淫巧

源 | Linux公社

Git 版本对比相关操作

  • [1] 输出工作区和暂存区的不同。

git diff
  • [2] 展示暂存区和最近版本的不同

git diff --cached
  • [3] 展示暂存区、工作区和最近版本的不同

git diff HEAD
  • [4] 展示本地仓库中任意两个 commit 之间的文件变动

git diff <commit-id> <commit-id>

Git 分支管理相关操作

  • [1] 展示本地分支关联远程仓库

git branch -vv
  • [2] 列出所有远程分支

git branch -r
  • [3] 列出本地和远程分支

git branch -a
  • [4] 查看远程分支和本地分支的对应关系

git remote show origin
  • [5] 删除本地分支

# 创建并切换到本地分支git checkout -b <branch-name># 删除本地分支git branch -d <local-branchname># 重命名本地分支git branch -m <new-branch-name># 快速切换到上一个分支git checkout -# 跨分支提交git checkout <branch-name> && git cherry-pick <commit-id>
  • [6] 删除远程分支

git push origin --delete <remote-branchname>
  • [7] 远程删除了分支本地也想删除

git remote prune origin
  • [8] 关联远程分支

# 关联之后 git branch -vv 就可以展示关联的远程分支名了# 同时推送到远程仓库直接 git push 命令且不需要指定远程仓库了git branch -u origin/mybranch

Git 文件处理相关操作

  • [1] 展示所有 tracked 的文件

bash

git ls-files -t
  • [2] 展示所有 untracked 的文件

bash

git ls-files --others
  • [3] 展示所有忽略的文件

bash

git status --ignoredgit ls-files --others -i --exclude-standard
  • [4] 强制删除 untracked 的文件

bash

# 使用clean命令后,删除的文件无法找回# 不会影响tracked的文件的改动,只会删除untracked的文件# 如果不指定文件文件名,则清空所有工作的untracked文件git clean <file-name> -f
  • [5] 强制删除 untracked 的目录

bash

# 如果不指定目录名称,则清空所有工作的untracked目录git clean <directory-name> -df
  • [6] 清除 gitignore 文件中记录的文件

bash

git clean -X -f
  • [7] 恢复删除的文件

bash

# 得到deleting_commit信息git rev-list -n 1 HEAD -- <file_path># 回到删除文件deleting_commit之前的状态git checkout <deleting_commit>^ -- <file_path>

Git 远程仓库相关操作

  • [1] 列出所有远程仓库

bash

git remote
  • [2] 修改远程仓库的 url 地址

bash

git remote set-url origin <URL>
  • [3] 增加远程仓库地址

bash

git remote add origin <remote-url>

Git 存储状态相关操作

  • [1] 存储当前的修改但不用提交 commit

bash

git stash
  • [2] 保存当前状态包括 untracked 的文件

bash

git stash -u
  • [3] 展示所有 stashes 信息

bash

git stash list
  • [4] 回到某个 stash 状态

bash

git stash apply <stash@{n}>
  • [5] 回到最后一个 stash 的状态并删除这个 stash 信息

bash

git stash pop
  • [6] 删除所有的 stash 信息

bash

git stash clear
  • [7] 从 stash 中拿出某个文件的修改

bash

git checkout <stash@{n}> -- <file-path>

Git 配置代码相关操作

  • [1] 配置 ssh 代理

bash

# 直接使用shadowsocks提供的socks5代理端口$ cat ~/.ssh/configHost gitlab.comProxyCommand nc -X 5 -x 127.0.0.1:1080 %h %pHost github.comProxyCommand nc -X 5 -x 127.0.0.1:1080 %h %p
  • [2] 配置 http 和 socks 代理

bash

# 适用于 privoxy 将 socks 协议转为 http 协议的 http 端口git config --global socks.proxy '127.0.0.1:1080'git config --global http.proxy 'http://127.0.0.1:8001'git config --global https.proxy 'http://127.0.0.1:8001'

Git 其他高级相关操作

  • [1] 把某一个分支到导出成一个文件

bash

git bundle create <file> <branch-name>
  • [2] 把某一个文件导入成一个分支

bash

# 新建一个分支,分支内容就是上面 git bundle create 命令导出的内容git clone repo.bundle <repo-dir> -b <branch-name>
  • [3] 修改上一个 commit 的描述

bash

# 如果暂存区有改动同时也会将暂存区的改动提交到上一个commit中去git commit --amend
  • [4] 查看某段代码是谁写的

bash

git blame <file-name>
  • [5] 回到某个 commit 状态并删除后面的 commit 提交

bash

# 和revert命令不同,reset 命令会抹去某个commit_id之后的所有commit提交# 默认就是-mixed参数git reset <commit-id># 回退至上个版本将重置HEAD到另外一个commit# 并且重置暂存区以便和HEAD相匹配,但是也到此为止,工作区不会被更改git reset -- mixed HEAD^# 回退至三个版本之前,只回退了commit的信息,暂存区和工作区与回退之前保持一致# 如果还要提交,直接commit即可git reset -- soft HEAD~3# 彻底回退到指定commit-id的状态,暂存区和工作区也会变为指定commit-id版本的内容git reset -- hard <commit-id>
  • [6] 回到远程仓库的状态

bash

# 抛弃本地所有的修改,回到远程仓库的状态git fetch --all && git reset --hard origin/master
  • [7] 重设第一个 commit 信息

bash

# 也就是把所有的改动都重新放回工作区并清空所有的commit信息,这样就可以重新提交第一个commit了git update-ref -d HEAD
  • [8] 查找已经删除的文件提交

bash

# 模糊查找git log --all --full-history -- "**/thefile.*"# 精确查找git log --all --full-history -- <path-to-file>git log --diff-filter=D --summary | grep <file_name> | awk '{print $4; exit}' | xargs git log --all --# 查看所有删除文件git log --diff-filter=D --summary | grep delete# 查看产出文件是谁提交的git log --diff-filter=D --summary | grep -C 10 <file_name>

Git 给 Github 配置 RSS

/* Repo releases */https://github.com/:owner/:repo/releases.atom/* Repo commits */https://github.com/:owner/:repo/commits.atom/* Private feed (You can find Subscribe to your news feed in dashboard page after login) */https://github.com/:user.private.atom?token=:secret/* Repo tags */https://github.com/:user/:repo/tags.atom/* User activity */https://github.com/:user.atom

寻求报道、约稿、文案投放:
添加微信xixiaoyao-1,备注“商务合作”

后台回复关键词【入群

加入卖萌屋NLP/IR/Rec与求职讨论群

后台回复关键词【顶会

获取ACL、CIKM等各大顶会论文集!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/478412.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Hyperloop,让发布简洁高效

Hyperloop 是什么&#xff1f; Hyperloop 是服务于美团点评客户端的组件发版、持续集成、App 打包构建、资源调度等各个环节的发布调度系统。名称起源于美国 Elon Musk 构想的 Hyperloop 超级高铁&#xff0c;象征着现代、简洁、高效。 Hyperloop 提供了一站式的平台&#xff0…

论文浅尝 | 基于潜在类别信息的实体链接

笔记整理 | 黄一凡&#xff0c;东南大学本科生来源&#xff1a;AAAI2020链接&#xff1a;https://arxiv.org/pdf/2001.01447v1.pdf一、简介作者意识到在利用预训练模型进行实体链接时&#xff0c;往往会将类别信息忽略&#xff0c;因此会导致模型将指称链接到拥有错误类别的错误…

LeetCode 166. 分数到小数(小数除法)

1. 题目 给定两个整数&#xff0c;分别表示分数的分子 numerator 和分母 denominator&#xff0c;以字符串形式返回小数。 如果小数部分为循环小数&#xff0c;则将循环的部分括在括号内。 示例 1: 输入: numerator 1, denominator 2 输出: "0.5"示例 2: 输入: …

百度飞桨弯道超车了吗?!

事情是这样的...前不久&#xff0c;小夕注意到了一份来自权威评测机构IDC发布的《2020年下半年深度学习平台市场份额报告》&#xff1a;▲IDC:2020年中国深度学习平台市场综合份额top 5立刻惊了&#xff01;印象里百度飞桨三年前还只是一个低调、小而美的深度学习框架&#xff…

美团点评酒旅数据仓库建设实践

在美团点评酒旅事业群内&#xff0c;业务由传统的团购形式转向预订、直连等更加丰富的产品形式&#xff0c;业务系统也在迅速的迭代变化&#xff0c;这些都对数据仓库的扩展性、稳定性、易用性提出了更高要求。对此&#xff0c;我们采取了分层次、分主题的方式&#xff0c;本文…

论文小综 | 文档级关系抽取方法(上)

本文作者&#xff1a;陈想&#xff0c;浙江大学在读博士&#xff0c;研究方向为自然语言处理张宁豫&#xff0c;浙江大学助理研究员&#xff0c;研究方向为自然语言处理、知识表示与推理1. 前言关系抽取(Relation Extraction, RE)是从纯文本中提取未知关系事实&#xff0c;是自…

LeetCode 621. 任务调度器(贪心)

1. 题目 给定一个用字符数组表示的 CPU 需要执行的任务列表。其中包含使用大写的 A - Z 字母表示的26 种不同种类的任务。任务可以以任意顺序执行&#xff0c;并且每个任务都可以在 1 个单位时间内执行完。CPU 在任何一个单位时间内都可以执行一个任务&#xff0c;或者在待命状…

吴恩达发起新型竞赛范式!模型固定,只调数据?!

文 | 小戏打开 Kaggle &#xff0c;琳琅满目的比赛让人目不暇接&#xff0c;研究的领域更是五花八门&#xff0c;从农林牧渔到衣食住行&#xff0c;似乎只要有数据&#xff0c;不论数据好坏&#xff0c;就可以直接使用各种机器学习的模型在其身上大展拳脚&#xff0c;从逻辑回归…

论文小综 | 文档级关系抽取方法(下)

本文作者&#xff1a;陈想&#xff0c;浙江大学在读博士&#xff0c;研究方向为自然语言处理张宁豫&#xff0c;浙江大学助理研究员&#xff0c;研究方向为自然语言处理、知识表示与推理这篇推文是文档级关系抽取方法的第二部分&#xff0c;前面的部分请移步推文“论文小综 | 文…

LeetCode 128. 最长连续序列(哈希set)

1. 题目 给定一个未排序的整数数组&#xff0c;找出最长连续序列的长度。 要求算法的时间复杂度为 O(n)。 示例:输入: [100, 4, 200, 1, 3, 2] 输出: 4 解释: 最长连续序列是 [1, 2, 3, 4]。它的长度为 4。来源&#xff1a;力扣&#xff08;LeetCode&#xff09; 链接&#…

清华姚班教师劝退文:读博,你真的想好了吗?

文 | 张焕晨编 | 琰琰源 | AI科技评论先简单介绍一下我的背景。我本科在University of Wisconsin-Madison&#xff0c;然后去CMU念了个PhD&#xff0c;主要研究数据库方向。目前回国在清华IIIS&#xff08;姚班&#xff09;做助理教授&#xff0c;并且 cofound 了Singularity D…

纠删码存储系统中的投机性部分写技术

本文已被USENIX’17年度技术大会录用&#xff0c;此处为中文简译版。 阅读英文论文完整版请点击&#xff1a;Speculative Partial Writes in Erasure-Coded Systems 多副本和纠删码&#xff08;EC&#xff0c;Erasure Code&#xff09;是存储系统中常见的两种数据可靠性方法。与…

论文浅尝 - EMNLP | 通过元强化学习实现少样本复杂知识库问答

笔记整理 | 谭亦鸣&#xff0c;东南大学博士生来源&#xff1a;EMNLP 2020链接&#xff1a;https://www.aclweb.org/anthology/2020.emnlp-main.469.pdf本文关注聚合型复杂知识图谱问答任务&#xff0c;这类复杂问题的答案通常需要经过一些集合操作得到&#xff0c;例如&#x…

写了一篇关于 NLP 综述的综述!

文 | 小轶综述&#xff0c;往往是了解一个子领域最为高效的起点。然而&#xff0c;对于AI这样一个日新月异高速发展的行业&#xff0c;时效性也自然地成为了我们选择综述的衡量指标之一。即使一篇 AI 综述具有超高 citation&#xff0c;如果它写于 20 年前&#xff0c;那对今天…

美团点评容器平台HULK的调度系统

本文是美团点评基础架构系列文章之一。这个系列将全面介绍支撑数亿用户、超千万日订单的美团点评平台诸多业务的公共基础架构相关技术。系列已经发布的文章包括&#xff1a; - 《分布式会话跟踪系统架构设计与实践》 - 《Leaf——美团点评分布式ID生成系统》 - 《深度剖析开源分…

论文浅尝 | 利用跨内和跨间信息的预训练实体关系编码器

笔记整理 | 朱珈徵&#xff0c;天津大学硕士链接&#xff1a;https://www.aclweb.org/anthology/2020.emnlp-main.132.pdf动机从自由文本中提取实体和关系是自然语言处理中的一项重要任务。它的目标是识别具有特定类型(实体)和这些实体(关系)之间的语义关系的文本。本文主要研究…

python的环境变量设置

程序和可执行文件可以在许多目录&#xff0c;而这些路径很可能不在操作系统提供可执行文件的搜索路径中。 path(路径)存储在环境变量中&#xff0c;这是由操作系统维护的一个命名的字符串。这些变量包含可用的命令行解释器和其他程序的信息。 Unix 或 Windows 中路径变量为 P…

LeetCode 76. 最小覆盖子串(滑动窗口)

1. 题目 给你一个字符串 S、一个字符串 T&#xff0c;请在字符串 S 里面找出&#xff1a;包含 T 所有字母的最小子串。 示例&#xff1a; 输入: S "ADOBECODEBANC", T "ABC" 输出: "BANC"说明&#xff1a; 如果 S 中不存这样的子串&#xff…

推荐一个可交互的 Attention 可视化工具!我的Transformer可解释性有救啦?

本文首发于微信公众号”夕小瑶的卖萌屋“文 | Sherry源 | 夕小瑶的卖萌屋视觉是人和动物最重要的感觉&#xff0c;至少有80%以上的外界信息是经过视觉获得的。我们看论文的时候&#xff0c;通过图表来确定文章的大致内容往往也是一个更高效的 说到深度神经网络的可视化&#xf…

机器学习中模型优化不得不思考的几个问题

本文根据美团点评算法工程师胡淏4月22日在“携程技术沙龙”上的分享整理而成。文字综合了“携程技术中心”微信公众号的版本和胡淏本人在微博上发表的文章&#xff0c;并有少量编辑加工。 图1 机器学习工程师的知识图谱 图1列出了我认为一个成功的机器学习工程师需要关注和积累…