文档章节

你不一定知道的几个很有用的 Git 命令

sami
 sami
发布于 2015/11/06 13:36
字数 796
阅读 106
收藏 11
  1. 导出最后一次提交修改过的文件   我一直在使用这个命令定期进行发送给其他人进行审查/整合。这条命令将把近期提交的修改过的文件导出到一个zip文件。

1

git archive -o ../updated.zip HEAD $(git diff --name-only HEAD^)

  1. 导出两次提交之间修改过的文件   同样,如果你需要导出两次提交之间修改过的文件,你可以用这一个。

1

git archive -o ../latest.zip NEW_COMMIT_ID_HERE $(git diff --name-only OLD_COMMIT_ID_HERE NEW_COMMIT_ID_HERE)
  1. 克隆一个特定的远程分支   如果你想从远程仓库克隆特定的一个分支,这条命令对你很有用:
git init 
git remote add -t BRANCH_NAME_HERE -f origin REMOTE_REPO_URL_PATH_HERE 
git checkout BRANCH_NAME_HERE
  1. 从无关的本地仓库应用补丁   如果您需要申请从提交的一些其他不相关的创库到本地存储库,这里是一个快捷的方式:

1 git --git-dir=PATH_TO_OTHER_REPOSITORY_HERE/.git format-patch -k -1 --stdout COMMIT_HASH_ID_HERE| git am -3 -k

  1. 检查您的分支变化是是否其他分支的一部分   cherry 命令可以让你检查你的分支的变化是否存在于其他一些分支之中。它会显示在当前分支相对于给定的分支的修改,用+或-标志提示提交合并与否。+表示不存在,而-表示存在于给定的分支。
git cherry -v OTHER_BRANCH_NAME_HERE 
#For example: to check with master branch 
git cherry -v master
  1. 启动一个无历史的新分支   有时候,你需要启动一个新的分支,同时想摒弃历史信息,例如,你想将代码放在公共领域(开源)又不想共享历史信息。
git checkout --orphan NEW_BRANCH_NAME_HERE
  1. 在不切换分支的情况下从其它分支检出文件   下面的命令是从其他分支获取文件,而不用切换分支。
git checkout BRANCH_NAME_HERE -- PATH_TO_FILE_IN_BRANCH_HERE

  1. 忽略跟踪文件的修改   如果你工作在一个团队,他们都是工作在同一个分支,你需要频繁的读取/合并文件。但是有时复位了你环境的特定配置,你必须在合并后每一次都再改一下。使用这个命令,你可以忽略更改特定的文件:
git update-index --assume-unchanged PATH_TO_FILE_HERE

  1. 检查提交的修改是否发布版本的一部分   这个 name-rev 命令可以告诉你提交相对于最新发布版本的位置。利用这一点,你可以检查你的变化是否发布版本的一部分。
git name-rev --name-only COMMIT_HASH_HERE

  1. 使用 pull rebase 操作替代 merge   如果你工作的团队正工作在同一个分支,那么你所要做的获取/合并或经常拉取。分支合并的 git 记录与合并提交时提示功能分支被并入主干。但在多个团队成员工作的同一分支的情况下,经常合并导致在日志中多个合并的消息引起混乱。所以你可以使用 pull rebase,以保持历史信息清除了无用合并的消息。
git config branch.BRANCH_NAME_HERE.rebase true

```  此外,您可以配置一个特定的分支总是衍合:


git pull --rebase

本文转载自:http://www.cnblogs.com/lhb25/p/10-useful-advanced-git-commands.html

sami

sami

粉丝 7
博文 35
码字总数 10446
作品 0
昌平
技术主管
私信 提问
window上使用GIT的个人经验(入门级)

0.安装 使用google上的msysgit http://code.google.com/p/msysgit/downloads/list 尽量用最新版的吧 1.KEY 关于 key,.ssh里面的key是与服务器通信用的,其他什么用,也不一定要用email,其实...

5an
2013/09/06
253
0
《Pro Git》翻译文2.7 - Git 别名

在我们结束本章 Git 基础之前,正好有一个小技巧可以使你的 Git 体验更简单、容易、熟悉:别名。 我们不会在之后的章节中引用到或假定你使用过它们,但是你大概应该知道如何使用它们。 Git ...

项勇
08/11
0
0
用 Pandoc 处理 Markdown 文件的格式转化

Markdown 写起来很舒服,纯文本管理起来也很顺手,但是涉及交流的时候,毕竟还是非主流,而且在有些场合也显得不太“正式”,这时候就需要转换成其它格式。 常用的无非是 HTML 格式、MS Word...

岐珂
2018/08/17
0
0
windows下git bash显示中文

1、C:Program FilesGitetcgit-completion.bash: alias ls='ls --show-control-chars --color=auto' 说明:使得在 Git Bash 中输入 ls 命令,可以正常显示中文文件名。 2、C:Program FilesGi......

yangji008
2017/04/28
0
0
「熟悉 GitHub」,速成Git

1、什么是Git? Git 是 Linux 发明者 Linus 开发的一款新时代的版本控制系统,那什么是版本控制系统呢?怎么理解?网上一大堆详细的介绍,但是大多枯燥乏味,对于新手也很难理解,这里科君只...

科君干货
2018/12/07
0
0

没有更多内容

加载失败,请刷新页面

加载更多

分布式协调服务zookeeper

ps.本文为《从Paxos到Zookeeper 分布式一致性原理与实践》笔记之一 ZooKeeper ZooKeeper曾是Apache Hadoop的一个子项目,是一个典型的分布式数据一致性的解决方案,分布式应用程序可以基于它...

ls_cherish
今天
4
0
redis 学习2

网站 启动 服务端 启动redis 服务端 在redis 安装目录下 src 里面 ./redis-server & 可以指定 配置文件或者端口 客户端 在 redis 的安装目录里面的 src 里面 ./redis-cli 可以指定 指定 连接...

之渊
昨天
2
0
Spring boot 静态资源访问

0. 两个配置 spring.mvc.static-path-patternspring.resources.static-locations 1. application中需要先行的两个配置项 1.1 spring.mvc.static-path-pattern 这个配置项是告诉springboo......

moon888
昨天
4
0
hash slot(虚拟桶)

在分布式集群中,如何保证相同请求落到相同的机器上,并且后面的集群机器可以尽可能的均分请求,并且当扩容或down机的情况下能对原有集群影响最小。 round robin算法:是把数据mod后直接映射...

李朝强
昨天
4
0
Kafka 原理和实战

本文首发于 vivo互联网技术 微信公众号 https://mp.weixin.qq.com/s/bV8AhqAjQp4a_iXRfobkCQ 作者简介:郑志彬,毕业于华南理工大学计算机科学与技术(双语班)。先后从事过电子商务、开放平...

vivo互联网技术
昨天
24
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部