git - 远程分支
对于用户来说,git给人提交到本地的机会。我们可以在自己的机器上创建不同的branch,来测试和存放不同的代码。
对于代码管理员而言,git有许多优良的特性。管理着不同的分支,同一套源代码可以出不一样的版本。
市面上有非常多的相关书籍和教程。我个人比较喜欢的是:
ProGit(中文版) http://git.oschina.net/progit/
关于git的master和origin http://lishicongli.blog.163.com/blog/static/1468259020132125247302/
刚开始的时候我没注意master和origin这两个名称,直到操作远程分支的时候,我才有了比较多的了解
远程分支的操作
# 查看远程分支,会显示出远程分支名与url $ git remote -v origin ssh://RustFisher@192.168.1.1:29418/workspace/product1 (fetch) origin ssh://RustFisher@192.168.1.1:29418/workspace/product1 (push)
这里采用gerrit来进行代码审核,用默认的29418端口
如何添加远程分支?
使用git remote add指令,例如:
$ git remote add r1 ssh://RustFisher@192.168.1.1:29418/work # 添加一个远程分支,url为ssh://RustFisher@192.168.1.1:29418/work;分支别名为r1 # 查看已有的远程分支 $ git remote -v r1 ssh://RustFisher@192.168.1.1:29418/work (fetch) r1 ssh://RustFisher@192.168.1.1:29418/work (push) # 这时使用git pull同步代码,git会问你要分支名 $ git pull fatal: 未指定远程版本库。请通过一个URL或远程版本库名指定,用以获取新提交。 # 我们可以选择从r1库同步代码 $ git pull r1 # 如果不想每次git pull都写上分支名,那么可以把远程分支命名为origin,git会默认从这里pull $ git remote rm r1 # 看看还有没有远程分支r1 $ git remote -v # 开始添加 $ git remote add origin ssh://RustFisher@192.168.1.1:29418/work $ git remote -v origin ssh://RustFisher@192.168.1.1:29418/work (fetch) origin ssh://RustFisher@192.168.1.1:29418/work (push) # 添加成功,pull一次试试 $ git pull
另一个工程里,查看所有分支,包括远程分支
$ git branch -a * working remotes/origin/demo1 remotes/origin/HEAD -> origin/master remotes/origin/demo2 remotes/origin/demo3 remotes/origin/working remotes/origin/master remotes/origin/tab1
#列出所有分支中,倒数5个 $ git branch -a | #表示强制切换到分支 $ git checkout -f [branch name]
未跟踪远程分支
Ubuntu14.04 git version 1.9.1
远程代码库新增了一个目录,repo sync下来后,在新增目录里新建一个分支
git pull时出现如下错误
Please specify which branch you want to merge with.
See git-pull(1) for details
git pull <remote> <branch>
If you wish to set tracking information for this branch you can do so with:
git branch --set-upstream-to=origin/<branch> project-dev
那么按照提示,先找到远程分支
$ git branch -a * project-dev remotes/m/Project-dev -> origin/Project-dev remotes/origin/Project-dev remotes/origin/master
当前分支为project-dev;想要跟踪origin/Project-dev,输入以下命令:
$ git branch --set-upstream-to=origin/Project-dev project-dev
分支 project-dev 设置为跟踪来自 origin 的远程分支 Project-dev
设置后,git pull试一试
Already up-to-date.
对于Github,新建一个仓库后会有提示
git remote add origin https://github.com/RustFisher/test.git git push -u origin master
附录
用法:git remote [-v | --verbose]
或:git remote add [-t <分支>] [-m <master>] [-f] [--tags|--no-tags] [--mirror=<fetch|push>] <名称> <url>
或:git remote rename <旧名称> <新名称>
或:git remote remove <名称>
或:git remote set-head <名称> (-a | --auto | -d | --delete |<分支>)
或:git remote [-v | --verbose] show [-n] <名称>
或:git remote prune [-n | --dry-run] <名称>
或:git remote [-v | --verbose] update [-p | --prune] [(<组> | <远程>)...]
或:git remote set-branches [--add] <名称> <分支>...
或:git remote set-url [--push] <名称> <新的地址> [<旧的地址>]
或:git remote set-url --add <名称> <新的地址>
或:git remote set-url --delete <名称> <地址>
-v, --verbose 冗长输出;必须置于子命令之前
git - 远程分支的更多相关文章
- git 远程分支创建与推送
git 远程分支创建与推送 原文地址:http://hi.baidu.com/lingzhixu/blog/item/4a9b830bb08a329fe850cd5b.html 本地分支的创建 本 ...
- Git 远程分支的pull与push
Git 远程分支的pull与push 远程分支信息查看 git branch -r #查看远程分支 git branch -a #查看所有分支,本地和远程 git remote show [remot ...
- git远程分支创建,本地分支关联远程分支,第一次发布、更新分支
git远程分支创建,本地分支关联远程分支,第一次发布.更新分支 github托管服务器地址为https://github.com git提交更新代码示意图: 本地与远程进行免密码配置(本地与远程关联) ...
- git 远程分支和tag标签的操作
git远程分支操作:1.创建远程分支git push --set-upstream origin develop:develop2在服务器创建远程分支devlop2,让本地的develop分支和dev ...
- git远程分支
1. 同步远程服务器上的数据到本地 git fetch origin 2. 添加远程分支 git remote add teamone git://git.tram1.ourcompany.com 添 ...
- 如何删除git远程分支
1,在开发过程中,大家在远程创建了许多分支,有些是无用的,该如何删除呢,可以参考下面的方法. 如果不再需要某个远程分支了,比如搞定了某个特性并把它合并进了远程的 master 分支(或任何其他存放 稳 ...
- git远程分支--remote
查看所有远程引用: $ git ls-remote From ssh://someone@example/testgit ebf3ef7551603cd57a699e80db0bfab36d1aa7b ...
- git 远程分支回滚
git代码库回滚: 指的是将代码库某分支退回到以前的某个commit id [本地代码库回滚]: git reset --hard commit-id :回滚到commit-id,讲commit-id ...
- Git远程分支的回退
下午发现上午提交的一个版本有问题,在回退本地分支后,发现还必须要回退远程分支的版本.网上查找到的资料如下: #新建old_master分支做备份 git branch old_master #push ...
随机推荐
- Java中设计模式之工厂模式-4
一.工厂模式由来 1)还没有工厂时代:假如还没有工业革命,如果一个客户要一款宝马车,一般的做法是客户去创建一款宝马车,然后拿来用. 2)简单工厂模式:后来出现工业革命.用户不用去创建宝马车.因为客户有 ...
- JavaFx TableView疑难详解
TableView是个十分有用的控件,适应性和灵活性非常强,可以对它进行任意的修改,比如界面样式.功能.本文将从一步步提问的方式讲解TableView 创建已知列的TableView 已知列的表格的创 ...
- dede系统自定义变量删除方法
之前添加了个联系电话的系统变量,忘记写描述,结果就显示个冒号,很难看.这样的就要删除了重来,那么织梦怎么删除添加的变量呢?其实很简单.两种方法: 第一种:执行SQL语句.在织梦后台执行-系统-SQL命 ...
- (转)CSS颜色及<a>标签超链接颜色改变
CSS颜色大全 <a>标签超链接颜色改变 A:hover {BACKGROUND-COLOR: #ffccff; COLOR: #0080ff} (hover表示鼠 ...
- 快速上手 Kotlin 的 11 招
本文转载自 Kotlin 公众号(KotlinX) 作者:bennyhuo 最近经常会收到一些 "用 Kotlin 怎么写" 的问题,作为有经验的程序员,我们已经掌握了一门或者多门 ...
- zookeeper源码分析-server-util
zxid (ZooKeeper Transaction Id,每次请求对应一个唯一的zxid,如果zxid a < zxid b ,则可以保证a一定发生在b之前) zookeeper采用了递增的 ...
- JavaScript面向对象轻松入门之封装(demo by ES5、ES6、TypeScript)
本章默认大家已经看过作者的前一篇文章 <JavaScript面向对象轻松入门之抽象> 为什么要封装? 封装(Encapsulation)就是把对象的内部属性和方法隐藏起来,外部代码访问该对 ...
- windows环境下使用virtualenv对python进行多版本隔离
最近在用python做一个文本的情感分析的项目,用到tensorflow,需要用python3的版本,之前因为<机器学习实战>那本书的缘故,用的是python2.7.所以目前的情况是要两个 ...
- IDEA报错处理:Application Server was not connected before run configuration stop, reason: Unable to ping server at localhost:8080
把wildfly的整个软件包更换成新的,配置文件重新配置,JBOSS_HOME环境变量修改成新的,在wildfly-10.1.0.FinalForTest\modules\system\layers\ ...
- 【JavaScript学习】-JS内置对象3-String对象
定义: 定义字符串的方法就是直接赋值,例如:var mystr="Javascript is good!"; 访问字符串的属性: length属性 eg:var myl=mystr ...