Git II: 操作远程Repository基础
很久之前写过一篇Git: Setup a remote Git repository,留意到有前同事谈论到Git的一些操作,就把Git值得留意的操作补补全吧。这次,主要讲述Git远程Repository的一些基础操作。
操作远程Repository,无外乎两个方面:获取远程Repository中最近的Change;提交自己本地最新的Change。
在介绍这两个操作之前,有个基本概念,就是本地会有一个branch对应于远程repository branch,即所谓的追踪关系(tracking)。譬如,定义了一个远程repository为origin并工作在master这个branch上,那么本地有个origin/master指针。所以,一个简单地设置了远程repository的work directory,起码有两个branch (master 和origin/master)。以下三个git branch命令分别查看:
- 本地branch
- 远程branch
- 全部branch (本地branch + 远程branch)
> git branch
> git branch -r
> git branch -a
获取远程最新Change,有两个方法:
Git Fetch。Fetch指令其实同步了origin/master指针为remote repository中对应branch的HEAD。在追踪信息已经设定的情况下,可以不指定对应的remote repository就可以直接使用fetch。
Git Pull。Pull指令同样同步了origin/master指针,但它比Fetch指令多了一步操作,默认它把origin/master和当前checkout的branch做了merge。用”–rebase”可以是pull使用rebase来代替默认的merge。
提交自己本地最新的Change。使用Git Push命令来提交自己最新的Change,在只有一个追踪信息确定的branch的前提下,可以直接使用该命令无需指定remote名称。
是为之记。
Alva Chien
2016.6.18
Git II: 操作远程Repository基础的更多相关文章
- git 基本命令操作
配置 Git 的相关参数. Git 一共有3个配置文件: 1. 仓库级的配置文件:在仓库的 .git/.gitconfig,该配置文件只对所在的仓库有效.2. 全局配置文件:Mac 系统在 ~/.gi ...
- Git入门(安装及基础命令行操作)
一.安装 1.Mac 在Mac中安装Git的方法不止一种.最简单的要数通过Xcode命令行工具.对于Mavericks(10.9)或更高版本的操作系统,当你第一次尝试在终端执行git命令时,系统会自动 ...
- Git5:Git操作远程仓库
目录 说明 一.git clone 二.git remote 三.git fetch 四.git pull 五.git push 说明 Git有很多优势,其中之一就是远程操作非常简便.本文详细介绍5个 ...
- Git应用详解第七讲:Git refspec与远程分支的重要操作
前言 前情提要:Git应用详解第六讲:Git协作与Git pull常见问题 这一节来介绍本地仓库与远程仓库的分支映射关系:git refspec.彻底弄清楚本地仓库到底是如何与远程仓库进行联系的. 一 ...
- git的工作管理和基础操作
git的工作管理和基础操作 在本地创建git仓库管理我们的代码 初次使用git,先在本地配置一些基础信息 $ git config -l $ git config --global user.name ...
- Git检出远程库的分支等相关操作
来到公司,询问同事后发现系统已经上传到Git远程仓库: 我这里先把远程仓库clone下来: $ git clone http://git.eas****tect.git 发现目录下只有一个READY. ...
- Eclipse 的 git 插件操作 "代码提交"以及"代码冲突"
面向对象:曾经使用过SVN的同学. (因为Git 它 可以说是双重的SVN (本地一个服务器,远程一个服务器)),提交代码要有两次步骤,先提交到本地服务器,再把本地服务器在提交到远程服务器. 所以连S ...
- 在Android Studio 和 Eclipse 的 git 插件操作 "代码提交"以及"代码冲突"
面向对象:曾经使用过SVN的同学. (因为Git 它 可以说是双重的SVN (本地一个服务器,远程一个服务器)),提交代码要有两次步骤,先提交到本地服务器,再把本地服务器在提交到远程服务器. 所以连S ...
- Git(4):远程仓库
添加\连接远程库 目前我们使用到的 Git 命令都是在本地执行,如果你想通过 Git 分享你的代码或者与其他开发人员合作. 你就需要将数据放到一台其他开发人员能够连接的服务器上. 远程仓库可以是Git ...
随机推荐
- Get https://172.18.255.243:6443/api/v1/namespaces/kube-system/configmaps/kubelet-config-1.12: dial tcp 172.18.255.243:6443: i/o timeout
问题描述 使用外网加入集群的时候报如下错误: Get https://172.18.255.243:6443/api/v1/namespaces/kube-system/configmaps/kube ...
- Vue-CLI 项目中相关操作
0830总结 Vue-CLI 项目中相关操作 一.前台路由的基本工作流程 目录结构 |vue-proj | |src | | |components | | | |Nav.vue | | |views ...
- Qt5教程: (7) 模态/非模态对话框
模态对话框就是在其没有被关闭之前,用户不能与同一个应用程序的其他窗口进行交互,直到该对话框关闭. 非模态对话框就是在被打开时,用户既可选择和该对话框进行交互,也可以选择同应用程序的其他窗口交互. 1. ...
- 内网转发之reGeorg+proxifier
先将reGeorg的对应脚本上传到服务器端,reGeorg提供了PHP.ASPX.JSP脚本,直接访问显示“Georg says, 'All seems fine'”,表示脚本运行正常. 运行 pyt ...
- 如何巧妙地在基于 TCP Socket 的应用中实现用户注册功能?
通常,在基于TCP的应用中(比如我开源的GGTalk即时通信系统),当TCP连接建立之后,第一个请求就是登录请求,只有登录成功以后,服务器才会允许客户端进行其它性质的业务请求.但是,注册用户这个功能比 ...
- idea迁移到其他电脑,省去重新安装破解及配置
idea迁移到其他电脑,省去重新安装破解及配置,要求路径与之前的电脑保持相同. 1. 将idea的配置目录文件夹整个复制过去,默认路径 C:\Users\Administrator\.IntelliJ ...
- 探究JavaScript闭包
什么是JavaScript闭包? 刚开始知道这个词,就误以为是自动执行的匿名函数块. 比如说+function(){}(); 然而并不是,那么请看下面的例子: function init() { va ...
- 替换dom操作
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title> ...
- MySql逻辑结构简介
结构示意图: 如上图,可把数据库的结构分成四层,见下图及文字说明 一.连接层提供客户端和连接服务,包含本地Sock通信和大多数基于客户端/服务端工具实现的类似于TCP/IP的通信,主要完成一些类似于 ...
- python解释器执行文件的流程
一: 启动python解释器,加载内置模块. 找到主文件读入内存,这里涉及到编码问题,一般都是utf8 解释器拿到主文件开始语法词法分析,编译然后执行