文档章节

Git 命令

满小茂
 满小茂
发布于 2016/02/24 22:55
字数 914
阅读 94
收藏 0
Git

 1.查看远程分支

$ git branch -a  
* br-2.1.2.2  
  master  
  remotes/origin/HEAD -> origin/master  
  remotes/origin/br-2.1.2.1  
  remotes/origin/br-2.1.2.2  
  remotes/origin/br-2.1.3  
  remotes/origin/master

删除不监控的临时文件,如eclipse,idea等IDE产生的临时文件。 

git clean -f
# 连 untracked 的目录也一起删掉
git clean -fd
# 连 gitignore 的untrack 文件/目录也一起删掉 (慎用,一般这个是用来删掉编译出来的 .o之类的文件用的)
git clean -xfd 
# 在用上述 git clean 前,墙裂建议加上 -n 参数来先看看会删掉哪些文件,防止重要文件被误删
git clean -nxfd
git clean -nf
git clean -nfd

 

2 查看本地分支

shuohailhl@SHUOHAILHL-PC /f/ggg/jingwei (br-2.1.2.2)  
$ git branch  
* br-2.1.2.2  
  master

3 新建分支

$:cat .git/HEAD 
ref: refs/heads/master
$ git branch new_branch_name refs/heads/master

4 把分支推送到远程

$ git push origin new_branch_name

5 切换分支

$ git branch -a
* br-2.1.2.2  
  master  
  remotes/origin/HEAD -> origin/master  
  remotes/origin/br-2.1.2.1  
  remotes/origin/br-2.1.2.2  
  remotes/origin/br-2.1.3  
  remotes/origin/master  
  
$ git checkout -b origin/master #切换到master分支

6 分支合并

     比如,如果要将开发中的分支(develop),合并到稳定分支(master),
     首先切换的master分支:git checkout master。
     然后执行合并操作:git merge develop。
     如果有冲突,会提示你,调用git status查看冲突文件。
     解决冲突,然后调用git add或git rm将解决后的文件暂存。
     所有冲突解决后,git commit 提交更改。

 git cherry-pick可以选择某一个分支中的一个或几个commit(s)来进行操作。例如,假设我们有个稳定版本的分支,叫v2.0,另外还有个开发版本的分支v3.0,我们不能直接把两个分支合并,这样会导致稳定版本混乱,但是又想增加一个v3.0中的功能到v2.0中,这里就可以使用cherry-pick了。

 git cherry-pick <commit id>

例子

 $ git checkout old_cc
 $ git cherry-pick 38361a68    # 这个 38361a68 号码,位于:

 然后正常提交

7.删除分支

git branch -r -d origin/branch-name
git push origin :branch-name

8.更改远程仓库地址

git remote rm origin
git remote add origin [url]

9.引入子项目

    Git Subtree 的原理    (git 1.5.2之后)

        首先,你有两个伟大的项目——我们叫他P1项目、P2项目,还有一个牛逼的要被多个项目共用的项目——我们叫他S项目。我们通过简要讲解使用Subtree来同步代码的过程来解释Subtree的原理

  •   初始化子项目Subtree

cd P1项目的路径
git subtree add --prefix=用来放S项目的相对路径 S项目git地址 xxx分支

这样的命令,把S项目(我们姑且叫他S项目)的代码下载到--prefix所指定的目录——我们姑且叫他S目录把,并在P1项目里自动产生一个commit(就是把S目录的内容提交到P1项目里)。

对于P2项目也做同样的操作

  • 像往常一样更新代码

大家在P1项目里各种提交commit,其中有些commit会涉及到S目录的更改,正如前面提到的,这是没任何关系的,大家也不会感受到有任何不一样。

  • 更新子项目新的代码到父项目

OK,现在S项目有大量的新代码了,P2项目也想使用这些新代码,维护P2这个Subtree的人只要执行:

git subtree pull --prefix=S项目的路径 S项目git地址 xxx分支

这样就可以将P2项目里S项目目录里的内容更新为S项目xxx分支的最新代码了。

© 著作权归作者所有

共有 人打赏支持
满小茂
粉丝 77
博文 121
码字总数 136324
作品 0
成都
程序员
私信 提问
Git 命令分类速查表

Git 命令分类速查表,其实,有很多命令我也没尝试过。 1、常用的Git命令 2、对象库操作相关命令 3、引用操作相关命令 4、版本库管理相关命令 5、数据传输相关命令 6、邮件相关命令 7、协议相...

wireless_com
2016/07/01
0
0
Git 常用命令速查表(三)

前面两篇博客 Git 版本管理工具 和 Git 常用命令详解,分别介绍了Git 基础知识和命令用法 本文将对Git 命令,做一下全面而系统的简短总结,整理成简洁、明了的图表结构,方便查询 一、 Git ...

长平狐
2013/01/06
1K
0
git branch不显示本地分支的问题(二)

git branch不显示本地分支的问题(二) (1)首先,在没有创建本地仓库时,使用git branch命令,如下图 报错,错误原因:没有git仓库。 (2)紧接着,使用git init命令创建仓库,并使用git b...

天王盖地虎626
03/07
0
0
Git 创建仓库

Git 创建仓库 本章节我们将为大家介绍如何创建一个 Git 仓库。 你可以使用一个已经存在的目录作为Git仓库。 git init Git 使用 git init 命令来初始化一个 Git 仓库,Git 的很多命令都需要在...

顶风走千里
2017/12/28
0
0
【GIT-1】GIT 的基础教程 创建,添加,更替,追溯版本库

【转载请注明出处!http://my.oschina.net/u/2337744/】 Git教程 前面已经介绍了Git的安装与用户的初始配置,接下来是Git的基本命令与代码上传。 【mkdir 文件夹名称】命令:在当前目录下创建...

程序媛_Mickey
2016/03/09
110
0

没有更多内容

加载失败,请刷新页面

加载更多

rabbitmq安装教程

RabbitMQ有Windows与Linux版本的,这里先写Windows版本的安装。 以前安装软件总是在百度上找某某安装教程,结果能按照教程安装好的软件真的不多。想起先前以为大牛说的一句话,去官网按照官网...

em_aaron
9分钟前
1
0
Android 贝塞尔曲线实践——波浪式运动

一、波浪效果如下 贝塞尔曲线自定义波浪效果的案例很多,同样方法也很简单,大多数和本案例一样使用二次贝塞尔曲线实现,同样还有一种是PathMeasure的方式,这里我们后续补充,先来看贝塞尔曲...

IamOkay
12分钟前
0
0
Nmap之防火墙/IDS逃逸

选项 解释 -f 报文分段 --mtu 指定偏移大小 -D IP欺骗 -sI 原地址欺骗 --source-port 源端口欺骗 --data-length 指定发包长度 --randomize-hosts 目标主机随机排序 --spoof-mac Mac地址欺骗 ...

Frost729
20分钟前
0
0
带你搭一个SpringBoot+SpringData JPA的环境

不知道大家对SpringBoot和Spring Data JPA了解多少,如果你已经学过Spring和Hibernate的话,那么SpringBoot和SpringData JPA可以分分钟上手的。 其实我在学完SpringBoot和SpringData JPA了之...

java菜分享
25分钟前
2
0
Chocolatey 在Window搭建一个开发环境

在看了(利用 Chocolatey 快速在 Windows 下搭建一个开发环境)后,准备从零开始 一、准备工作 1、用管理员权限启动:powershell,执行错误请参考(PowerShell因为在此系统中禁止执行脚本的解...

近在咫尺远在天涯
38分钟前
2
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部