git - 远程分支

简介: 对于用户来说,git给人提交到本地的机会。我们可以在自己的机器上创建不同的branch,来测试和存放不同的代码。 对于代码管理员而言,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 | head -5 

#表示强制切换到分支
$ 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         冗长输出;必须置于子命令之前

目录
相关文章
|
30天前
|
开发工具 git 开发者
|
30天前
|
开发工具 git
|
2月前
|
前端开发 算法 开发工具
Git分支批量清理利器:自定义命令行插件实战
Git分支批量清理利器:自定义命令行插件实战
42 0
|
开发工具 git
Git版本控制——分支
几乎所有的版本控制系统都以某种形式支持分支。使用分支意味着可以把工作从开发主线上分离开来进行重大的Bug修改、开发新的功能,以免影响开发主线。
32 0
|
2月前
|
开发工具 git
Git从远程仓库拉取指定的分支
Git从远程仓库拉取指定的分支
73 0
|
3月前
|
存储 开发工具 git
Pycharm git-创建本地仓库\创建分支\合并分支\回溯版本\加入git后文件颜色代表的含义
Pycharm git-创建本地仓库\创建分支\合并分支\回溯版本\加入git后文件颜色代表的含义
65 0
|
29天前
|
开发工具 git 开发者
|
30天前
|
开发工具 git
|
1月前
|
存储 开发工具 git
Git 术语解析:深入理解上游分支
【2月更文挑战第26天】
82 0
Git 术语解析:深入理解上游分支
|
1月前
|
Shell 开发工具 git
【问题篇】git创建分支后idea切换分支找不到以及合并问题
【问题篇】git创建分支后idea切换分支找不到以及合并问题
23 0