Git(4):远程仓库
添加\连接远程库
目前我们使用到的 Git 命令都是在本地执行,如果你想通过 Git 分享你的代码或者与其他开发人员合作。 你就需要将数据放到一台其他开发人员能够连接的服务器上。
远程仓库可以是Github(可以在官网https://github.com/注册),也可以是自己搭建的Git服务器。
(1) 用邮箱号注册GitHub账号。(注册后我会创建一个GitTest的Repository)
由于本地Git仓库和GitHub仓库之间的传输是通过SSH加密的,所以使用以下命令生成SSH Key。
$ssh-keygen -t rsa -C "youremail@example.com"
可以在<C:\Users\admin\.ssh>里找到.ssh目录,里面有id_rsa和id_rsa.pub两个文件,这两个就是SSH Key的秘钥对,id_rsa是私钥,不能泄露出去,id_rsa.pub是公钥,可以放心地告诉任何人。
(2) 登陆GitHub,点击头像旁的下拉列表,选择“Settings >> SSH and GPG Keys”页面,在Key文本框里粘贴id_rsa.pub文件的内容。
(3) 为了验证是否成功,输入以下命令
$ssh -T git@github.com
(4) 如果没有本地Git目录,则需要自己本地先初始化,再推送到远程仓库。("远程仓库"标志就是origin,这是Git默认的叫法,一看origin这个名字一看就知道是远程库)
admin MINGW64 /c/GitRepositoryTest/GitTest
$echo "GitTest line1" >> README.md
$git init
$git add README.md
$git commit -m "Add README.md"
$git remote add origin git@github.com:lyz170/GitTest.git #添加远程仓库
$git push -u origin master #push到远程仓库的master分支
如果有本地Git目录,直接推送到远程仓库即可。
$git remote add origin git@github.com:lyz170/GitTest.git
$git push -u origin master
操作远程仓库的命令
查看当前的远程库([-v]: 可以看到每个别名的实际链接地址)
$git remote [-v]
添加远程仓库
$git remote add [repository name] [SSH/HTTPS url]
推送到远程仓库
$git push [repository name] [branch name]
删除远程仓库
$git remote rm [repository name]
关于<git fetch>和<git pull>的区别
一旦远程主机的版本库有了更新(Git术语叫做commit),需要将这些更新取回本地,这时就要用到git fetch
命令。
git fetch
命令通常用来查看其他人的进程,因为它取回的代码对你本地的开发代码没有影响(该命令并不会覆盖当前本地分支)。所取回的更新,在本地主机上要用[repository name/branch name]的形式读取。比如origin
主机的master
,就要用origin/master
读取。(注意区分命令里的origin master)
git fetch 有四种基本用法
$git fetch #更新git remote中所有的远程repository所包含branch的最新commit-id, 将其记录到.git/FETCH_HEAD文件中
$git fetch [repository name] #更新名称为[repository name]的远程repository上的所有branch的最新commit-id,将其记录
$git fetch [repository name] [branch name] #更新名称为[repository name]的repository上的[branch name]分支
$git fetch [repository name] [branch name]:[local branch name] #(3)完成后,再在本地创建[local branch name]本地分支保存远端分支的所有数据。
取回远程主机的更新以后,可以在它的基础上,使用git checkout
命令创建一个新的分支。相当于上面的第4条命令。
$git checkout -b newBrach origin/master
也可以使用git merge
命令在当前本地分支上合并远程分支
$git merge origin/master
git pull
命令的作用是,取回远程主机某个分支的更新,再与本地的指定/当前分支合并。
$git pull [repository name] [branch name]:[local branch name]
如果远程分支是与当前分支合并,则冒号后面的部分可以省略
$git pull [repository name] [branch name]
[总结]
Git(4):远程仓库的更多相关文章
- git 切换远程仓库,以及碰到的一个问题。
git 切换远程仓库出现如下问题: $ git checkout -b localdev origin/dev fatal: Cannot update paths and switch to bra ...
- Git从远程仓库里拉取一条本地不存在的分支方法
Git从远程仓库里拉取一条本地不存在的分支方法 从远程仓库里拉取一条本地不存在的分支时,进入到对应目录先执行git fetch然后再执行git checkout -b 本地分支名 origin/远程分 ...
- git学习——远程仓库操作
查看当前的远程库——git remote 列出了仅仅是远程库的简单名字 可以加上-v 现实对应的克隆地址 添加远程仓库——git remote add [shortname] [url] git re ...
- git从远程仓库中更新代码到本地仓库
git从远程仓库中更新代码到本地仓库 有时候在使用git pull的时候,会莫名才报错.查了很多资料,尝试过git的很多命令.包括git fetch命令,都会报同样的错.最后终于发现了一条捷径,由网友 ...
- [转]git修改远程仓库地址
原文链接:http://www.cnblogs.com/lazb/articles/5597878.html 问:Coding远程仓库地址变了,本地git仓库地址如何更新为最新地址 git修改远程仓库 ...
- 为git创建远程仓库
首先生成ssh公钥: 将公钥添加到git: 测试秘钥是否通过: 然后就可以到web界面看到标注的地方被绿了: 但是我的没有绿,不知道为啥,难道没有女朋友的原因吗? rm -rf .ssh 重来好几遍都 ...
- git从远程仓库拉取内容或向远程仓库上传内容
一.将本地文件上传到远程仓库步骤 git init git add . git commit -m "初始框架" git remote add origin https://git ...
- Git 克隆远程仓库到本地
Git 克隆远程仓库到本地 参考 $ git clone --help https://git-scm.com/book/zh/v2/Git-%E5%9F%BA%E7%A1%80-%E8%8E%B7% ...
- git清空远程仓库
需求背景:因为用jenkins连接了git仓库,有时候job构建出现问题,需要排查问题,但是呢,真实的项目代码量非常pang大,所以就需要建1个测试仓库,使用最少量的代码能复现自己的问题就好. 这就需 ...
- git clone远程仓库的指定分支
正常clone方式 git clone <远程仓库地址> 默认clone的是远程仓库的master分支 clone指定分支 git clone -b <分支名> <远程仓 ...
随机推荐
- P1231 教辅的组成 拆点限流
如果只有两个物品的话 是一个裸的二分图匹配问题 现在变成了三个物品之间的匹配 则只要在中间加一层节点表示书 再把这层的每个点拆成两个点中间连一条边限制流量 使其只能用一次 #include<io ...
- WebRtc的一些基本概念
GCC:Google Congestion Control,谷歌提出的拥塞控制算法 REMB:Receiver Estimated Maximum Bitrate, 接收端最大接收码率估测,接收端会 ...
- Vue-项目重要配置
Vue配置axios ''' 1)安装插件(一定要在项目目录下): >: cnpm install axios 2)在main.js中配置: import axios from 'axios' ...
- Linux防CC攻击脚本
多数CC攻击在web服务器日志中都有相同攻击的特征,我们可以根据这些特征过滤出攻击的ip,利用iptables来阻止 #!/bin/bash #by LinuxEye #BLOG: http://bl ...
- awk的妙用
终端形式 有人说awk的优势在于可以个性化输出命令,这么说来太抽象了,假如我们查看占用6379端口的进程信息. lsof -i: 输出结果: COMMAND PID USER FD TYPE DEVI ...
- Python3-def
def hello(): print("这是一个无参数的方法!") hello(); print("") def helloOne(str): print(st ...
- macOS关闭修改扩展名的提示
关闭 defaults write com.apple.finder FXEnableExtensionChangeWarning -bool false; killall Finder 开启 def ...
- Can't install '*' from pristine store, because no checksum is recorded for this file
svn同步时,提示clean up,但clean up 时提示: Error:Error performing cleanup for 'E:\project\projectProjectIDEA\b ...
- React-router的使用:标签跳转和编程式跳转
目录: 1.demo:NavLink 标签跳转 2.标签渲染路由组件时,获取url参数 3.编程式跳转 参考文档 1)https://reacttraining.com/react-router/we ...
- contents() 查找匹配元素内部所有的子节点(包括文本节点)。如果元素是一个iframe,则查找文档内容
contents() V1.2概述 查找匹配元素内部所有的子节点(包括文本节点).如果元素是一个iframe,则查找文档内容 示例 描述:大理石平台检定规程 查找所有文本节点并加粗 HTML 代码 ...