git学习 branch log rebase merge fetch remote add push pull
我创建了一个项目,然后通过下面的命令 push
到了 GitHub 上。如何再将这个项目 push
到其他远程仓库呢?
git remote add github https://github.com/zxbetter/test.git
git push -u github master
方法一: 使用 git remote add
命令
1.1# 如下命令查看远程仓库的情况,可以看到只有一个叫 github
的远程仓库。
git remote
github
git remote -v
github https://github.com/zxbetter/test.git (fetch)
github https://github.com/zxbetter/test.git (push)
1.2# 使用如下命令再添加一个远程仓库(这里以码云为例)
git remote add oschina https://git.oschina.net/zxbetter/test.git
1.3# 再次查看远程仓库的情况,可以看到已经有两个远程仓库了。然后再使用相应的命令 push
到对应的仓库就行了。这种方法的缺点是每次要 push
两次。
git remote
github
oschina
git remote -v
github https://github.com/zxbetter/test.git (fetch)
github https://github.com/zxbetter/test.git (push)
oschina https://git.oschina.net/zxbetter/test.git (fetch)
oschina https://git.oschina.net/zxbetter/test.git (push)
方法二: 使用 git remote set-url
命令
2.1# 删除方法一的 oschina
远程仓库。
git remote rm oschina
2.2# 使用如下命令添加远程仓库。
git remote set-url --add github https://git.oschina.net/zxbetter/test.git
2.3# 查看远程仓库情况。可以看到 github
远程仓库有两个 push
地址。这种方法的好处是每次只需要 push
一次就行了。
git remote -v
github https://github.com/zxbetter/test.git (fetch)
github https://github.com/zxbetter/test.git (push)
github https://git.oschina.net/zxbetter/test.git (push)
方法三: 修改配置文件
打开 .git/config
找到 [remote "github"]
,添加对应的 url
即可,效果如下。这种方法其实和方法二是一样的。
[remote "github"]
url = https://github.com/zxbetter/test.git
fetch = +refs/heads/*:refs/remotes/github/*
url = https://git.oschina.net/zxbetter/test.git
关于 git pull
方法二和三在 push
的时候比较方便。但是在 pull
的时候只能从方法三中的第一个 url
地址拉取代码。而方法一则不存在这种问题(可能要解决冲突)。
所以,如果只进行 push
操作,推荐方法二和三,如果也要进行 pull
操作,推荐方法一。
1、git fetch 相当于是从远程获取最新到本地,不会自动merge,如下指令:
git fetch orgin master //将远程仓库的master分支下载到本地当前branch中
git log -p master ..origin/master //比较本地的master分支和origin/master分支的差别
git merge origin/master //进行合并
也可以用以下指令:
git fetch origin master:tmp //从远程仓库master分支获取最新,在本地建立tmp分支
git diff tmp //將當前分支和tmp進行對比
git merge tmp //合并tmp分支到当前分支
2. git pull:相当于是从远程获取最新版本并merge到本地
git pull origin master
git pull 相当于从远程获取最新版本并merge到本地
在实际使用中,git fetch更安全一些
https://www.liaoxuefeng.com/wiki/896043488029600/900003767775424
原文地址:https://www.cnblogs.com/CreatorKou/p/11393059.html
- Go语言Goroutine与Channel内存模型
- 手把手教 | 深度学习库PyTorch(附代码)
- 如何定位Obj-C野指针随机Crash(一):先提高野指针Crash率
- 如何定位Obj-C野指针随机Crash(二):让非必现Crash变成必现
- 六种开发环境部署大全:基于Openshift
- 手把手教你由TensorFlow上手PyTorch(附代码)
- 如何定位Obj-C野指针随机Crash(三):如何让Crash自报家门
- 【MIG专项测试组】腾讯手机管家实战分析:内存突增是为神马?
- 全系统栈崩溃是什么鬼?手机管家高级工程师 jaylin,教你如何抓鬼!
- 【团队分享】苍翼之刃:论File Descriptor泄漏如何导致Crash?
- 【沙龙干货分享】你要知道的N个Android适配问题
- 优化安卓应用内存的神秘方法以及背后的原理,一般人我不告诉他
- 安全快速下载Xcode的姿势
- Android之实现妙趣横生的粘连布局
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法