工作中需要在github上保存项目,一个仓库中有多个分支,进行一些实验,方便后面操作。

参考链接

http://rogerdudler.github.io/git-guide/index.zh.html

http://www.ruanyifeng.com/blog/2014/06/git_remote.html

1、创建远程仓库

我在github账户上创建了一个git_test的仓库。

创建完成仓库之后,github会显示一些git的基本操作。

... or create a new repository on the command lineecho "# git_test" >> README.md
git init
git add README.md
git commit -m "first commit"
git remote add origin git@github.com:TonySudo/git_test.git
git push -u origin master... or push an existing repository from the command linegit remote add origin git@github.com:TonySudo/git_test.git
git push -u origin master

仓库建好了,如何上传文件呢?我知道的有两种方法:

  • 将github上的仓库clone到本地,添加文件之后再push。

  • 在本地创建仓库,连接到远程的仓库,然后再push文件。

下面分别介绍。

2、克隆远程仓库到本地

# clone的时候,远程主机自动被命名为origin。
$ git clone git@github.com:TonySudo/git_test.git
Cloning into 'git_test'...
warning: You appear to have cloned an empty repository.
Checking connectivity... done.# 克隆某个分支, 使用-b选项,进行分支的选择,branch是远端仓库分支的名字。
$ git clone -b branch https://github.com/TonySudo/git_test.git
Cloning into 'git_test'...
Unpacking objects: 100% (6/6), done.packing objects:  16% (1/6)remote: Compressing objects: 100% (2/2), done.
remote: Total 6 (delta 0), reused 6 (delta 0), pack-reused 0
Checking connectivity... done.# 上传文件$ cd git_test/# 创建文件
$ touch master$ git add master$ git commit -m "init push"
[master (root-commit) 436b48f] init push1 file changed, 0 insertions(+), 0 deletions(-)create mode 100644 master# 上传到github $ git push
Counting objects: 3, done.
Writing objects: 100% (3/3), 203 bytes | 0 bytes/s, done.
Total 3 (delta 0), reused 0 (delta 0)
To git@github.com:TonySudo/git_test.git* [new branch]      master -> master上传完成,在github的仓库中就会看到一个master文件。 

3、本地仓库连接远程仓库

# 在本地创建一个目录用于当做仓库。$ mkdir git$ cd git# 初始化本地仓库$ git init
Initialized empty Git repository in C:/Users/Tony/Desktop/git/git/.git/# 连接远程仓库$ git remote add origin git@github.com:TonySudo/git_test.git# origin 是定义的远程主机的名字, origin 是远程仓库的网址如果git remote连接时出现错误fatal: remote origin already exists.解决方法参考:http://blog.csdn.net/dengjianqiang2011/article/details/9260435$ git remote rm origin 再次运行之前的命令就可以成功。# 查看远程仓库的名字:$ git remote -v
origin  git@github.com:TonySudo/git_exe.git (fetch)
origin  git@github.com:TonySudo/git_exe.git (push)# 上传文件$ touch master$ git add master$ git commit -m "init push"
[master (root-commit) f88dd2b] init push1 file changed, 0 insertions(+), 0 deletions(-)create mode 100644 master$ git push -u origin master如果出现错误。
fatal: The current branch master has no upstream branch.
To push the current branch and set the remote as upstream, usegit push --set-upstream origin master$ git push --set-upstream origin master

4. 提取服务器上的更新

# 从服务器上下载更新,这只是下载下来,没有对源码进行更改。
#  默认取回所有的更新。
$ git fetch origin# 取回某一个分支的更新,branch1是分支名,可以是master或者其他的。
$ git fetch origin branch1# 将fetch下来的跟新和本地的分支进行合并。merge之后,本地的源码才会改变。
$ git merge# git pull相当于执行了git fetch和git merge
# 将远程的branch1分支的内容下载到本地的master分支。
# 也可以将branch1更改为其他的,例如master.
$ git pull origin branch1:master

5、文件上传

# 将本地的分支branch上的更新上传到远端的master分支。
$ git push origin branch:master
Counting objects: 3, done.
Writing objects: 100% (3/3), 200 bytes | 0 bytes/s, done.
Total 3 (delta 0), reused 0 (delta 0)
To git@github.com:TonySudo/git_test.git* [new branch]      master -> master
有时候会出错,说明本地上的文件跟服务器上的不同步
$ git push origin branch:master
To git@github.com:TonySudo/git_test.git! [rejected]        master -> master (non-fast-forward)
error: failed to push some refs to 'git@github.com:TonySudo/git_test.git'
hint: Updates were rejected because the tip of your current branch is behi
hint: its remote counterpart. Integrate the remote changes (e.g.
hint: 'git pull ...') before pushing again.
hint: See the 'Note about fast-forwards' in 'git push --help' for details.解决方法,先将服务器上的更新先下载到本地,这样就和服务器上的同步了,再进行提交即可。将本地的branch分支的内容传送大远端仓库的branch分支
$ git push origin branch:branch
Counting objects: 2, done.
Delta compression using up to 4 threads.
Compressing objects: 100% (2/2), done.
Writing objects: 100% (2/2), 255 bytes | 0 bytes/s, done.
Total 2 (delta 0), reused 0 (delta 0)
To git@github.com:TonySudo/git_test.git* [new branch]      branch -> branch

6. 分支

创建一个名为branch1的分支

git branch branch1

切换到分支branch1

git checkout branch1

将本地master分支的文件上传到远端仓库的名为branch1的分支上。 如果远端这个分支不存在,就会创建这个分支。

git push origin master:branch1

Tony Liu

2017-2-8, Shenzhen

转载于:https://www.cnblogs.com/helloworldtoyou/p/6378947.html

github 远程仓库操作相关推荐

  1. 版本控制介绍、Git的安装、TortoiseGit的安装、Git的文件操作、IDEA + 同步到GitHub远程仓库 | 克隆 | 分支 | 忽略文件

    文章目录 版本控制 什么是版本控制 常见的版本控制工具 版本控制分类 Git与SVN的主要区别 Git的历史 Git安装与配置 TortoiseGit的安装 Git基本理论 Git项目搭建 Git文件 ...

  2. GitHub 远程仓库 de 第一次配置

    GitHub远程仓库, Git是分布式版本控制系统,同一个Git仓库,可以分布到不同的机器上.首先找一台电脑充当服务器的角色, 每天24小时开机,其他每个人都从这个"服务器"仓库克 ...

  3. 【Git笔记1】本地项目与GitHub远程仓库互联

    秋招面试的时候,面试官就问了我:你会Git吗?我迟疑看着他,他微笑着说,入职前要抓紧时间好好学习一下. 由于地理位置优势先来公司熟悉下环境,咨询算法组组长入职前可以做些什么准备?组长说,Git要好好学 ...

  4. git安装、使用、建立github远程仓库、克隆远程仓库

    文章目录 安装git 单机上使用git 建立GitHub远程仓库 克隆GitHub远程仓库 安装git [root@linux ~]# yum -y install git 单机上使用git 创建仓库 ...

  5. git学习-如何将本地项目上传(同步)到github远程仓库

    初学github想要把自己做过的online judge题解上传到github上去.有两种方法, 一,直接在github网页上完成创建代码文件并编写,比较容易. 二,是本地编写完代码,放到本地仓库,然 ...

  6. git 远程仓库操作

    git 远程仓库操作 远程提交一个大一点的文件 解决提交冲突(拉取本地合并提交) 分支合并 idea配置操作git和github 远程提交一个大一点的文件 用git远程提交的一个好处就是,相比较在gi ...

  7. IDEA配置Git,以GitHub远程仓库为例

    1.选择Setting,打开Version Control,点击Git 找到git安装路径,应用Apply,点击ok 2.配好git以后现把项目初始化,然后把项目添加到本地仓库 2.1 因为操作的是整 ...

  8. 362-git的远程仓库操作

    git的远程仓库操作 1.生成通信密钥:ssh-keygen -t rsa -C "su@126.com" ,生成的公钥在/home/stu/.ssh/下,如下图 2.测试与git ...

  9. Git 安装使用 本地Git 服务器的使用 Github 远程仓库

    一.Git 安装使用 1. Git 安装配置 1.Yum 安装 Git Centos/RedHat 安装命令 [root@localhost ~]# yum -y install curl-devel ...

  10. git创建/合并分支/删除分支/将修改后的内容同步到GitHub远程仓库

    1.创建分支并切换到刚创建的分支(这里创建新的分支来修改README.md的内容然后将创建的分支与master分支合并,最后删除创建的分支) $ git checkout -b 分支名 Switche ...

最新文章

  1. halcon 形状匹配
  2. matlab 叠加 area,[转载]matlab学习——area填色图
  3. 十八、彻底掌握金融量化交易库Tushare
  4. Java Object类的各个方法
  5. cocos2dx 3.4 截图代码
  6. OpenStack securityGroup rule Set
  7. 微软中国:Morro可能将不进入中国市场
  8. 数字图像处理(四)——图像编码技术(一)
  9. html颜色对话框,网页颜色对话框的使用
  10. Java实现“斐波那契数列”的方法(循环,递归,优化递归)
  11. 哪里可以做TEM/HRTEM/EDS/线扫/Mapping测试、EBSD测试
  12. macpro下docker安装目录_macos – 在mac os下的Docker deamon配置路径
  13. 蓝桥杯c语言之小蓝制作门牌
  14. 产品经理如何进行用户需求分析?
  15. 计算机几大管理器,电脑里的任务管理器的快捷键是按哪几个键?
  16. oppo A37全网通刷机包原厂售后线刷包自带工具
  17. halcon学习笔记-车牌号识别
  18. ios 绘制线框_16款值得一用的iPhone线框图模板 (PSD Sketch)
  19. 装修甲醛怎么办?自制小程序监控的甲醛检测仪
  20. WebView实现长按保存图片 长按识别二维码,看完吊打面试官

热门文章

  1. Movavi Picverse for mac(AI智能修图工具)
  2. Master PDF Editor for Mac(PDF文档编辑软件)
  3. 20-2.系统启动和内核管理centos7(unit,systemctl,grub2-)
  4. iOS开发多线程篇—线程间的通信
  5. background: radial-gradient径向渐变
  6. 引用类型-Function类型
  7. cl_salv_table
  8. 快切——响应css框架之布局结构命名
  9. 定位Oops的具体代码行[zt]
  10. 把txt作为数据源绑定到GridView中