已有项目提交到Git远程仓库全过程

写代码最常遇到的情况是本地已经创建好了一个项目,如何提交到远程仓库,接下来就请跟着我左手右手一个慢动作。感谢廖雪峰的Git教程

一、安装

1. 在Linux上安装

sudo apt-get install git

2. 在Mac OS X上安装

  • (推荐)直接从AppStore安装Xcode,运行Xcode,选择菜单“Xcode”->“Preferences”,在弹出窗口中找到“Downloads”,选择“Command Line Tools”,点“Install”就可以完成安装了
  • 安装homebrew,然后通过homebrew安装Git,具体方法请参考homebrew的文档:http://brew.sh/

3. 在Windows上安装Git

可以从Git官网直接下载安装程序
安装完成后,还需要最后一步设置,在命令行输入:

$ git config --global user.name "Name"
$ git config --global user.email "email@example.com"

表示你这台机器上所有的Git仓库都会使用这个配置

如果安装了Cmder这种Windows命令行神器,自带Git,可以省略安装的步骤

二、本地提交

1.创建本地仓库

在项目的根目录输入

$ git init

2.添加文件和提交

//添加文件
git add 1.txt
git add 2.txt 3.txt
//添加该目录下所有文件
git add .
//提交
git commit -m <message>

其他操作比如版本回退、撤销和删除操作本文省略,可参考本文开头的教程

3.添加并上传远程库

  1. 在远程仓库中创建一个仓库(省略操作步骤),注意:readme.md文件最好先别选
  2. 添加远程仓库
$ git remote add <remote> <gitRepository.git>

<remote>:远程仓库名称,自己命名,git默认的名字是origin
<gitRepository.git>:远程仓库地址,.git结尾

  1. 上传到远程仓库
git push -u <remote>  <master>

<remote>:上一步自己定义的远程仓库名称
<master>:当前分支,新建本地仓库时默认为master
-u:Git不但会把本地的master分支内容推送的远程新的master分支,还会把本地的master分支和远程的master分支关联起来,在以后的推送或者拉取时就可以简化命令
最后输入远程仓库的账号名和密码就可以提交了

4.补充

  1. 不想每次输入账号和密码怎么办?我们来配置SSH 密钥
    SSH 密钥默认储存在账户的主目录下的~/.ssh 目录,Windows则在C:\Users\Administrator\.ssh目录
    首先先确认一下是否已经有一对密钥,<something><something>.pub,有 .pub 后缀的文件就是公钥,另一个文件则是密钥,如果没有就先新建。
    .ssh目录打开gitbash,输入
$ ssh-keygen

连续回车,直到创建完成
复制 .pub 文件的内容配置到远程仓库的设置-SSH公钥。公钥的样子大致如下:

$ cat ~/.ssh/id_rsa.pub
ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEAklOUpkDHrfHY17SbrmTIpNLTGK9Tjom/BWDSU
GPl+nafzlHDTYW7hdI4yZ5ew18JH4JW9jbhUFrviQzM7xlELEVf4h9lFX5QVkbPppSwg0cda3
Pbv7kOdJ/MTyBlWXFCR+HAo3FXRitBqxiX1nKhXpHAZsMciLq8V6RjsNAQwdsdMFvSlVK/7XA
t3FaoJoAsncM1Q9x5+3V0Ww68/eIFmb1zuUFljQJKprrX88XypNDvjYNby6vw/Pb0rwert/En
mZ+AW4OZPnTPI89ZPmVMLuayrD2cE86Z/il8b+gw3r3+1nKatmIkjn2so1d01QraTlMqVSsbx
NrRFi9wrf+M7Q== schacon@agadorlaptop.local
  1. 首次提交失败,提示Push rejected: Push to origin/master was rejected
    先和远程仓库合并
git pull <remote> <master>
  1. 合并文件的时候提示fatal: refusing to merge unrelated histories
    因为他们是两个不同的项目,要把两个不同的项目合并,需要添加选项--allow-unrelated-histories,所以要输入
git pull --allow-unrelated-histories <origin> <master>

合并后再上传到远程仓库

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Git常用语法 [TOC] Git简介 描述 ​ Git(读音为/gɪt/。)是一个开源的分布式版本控制系统,...
    君惜丶阅读 3,612评论 0 13
  • 本文为 Git教程的学习笔记,教程源自廖雪峰的博客。这是一个由浅入深,学完后能立刻上手的Git教程。另,附上另一本...
    七弦桐语阅读 6,275评论 5 47
  • 1. 安装 Github 查看是否安装git: $ git config --global user.name "...
    Albert_Sun阅读 13,737评论 9 163
  • 资讯爆炸的时代里,每天都要被各式各样的新闻湮没,不妨看看手机里新闻软件的标签:要闻、军事、文化、社会、星座、娱乐、...
    月下花雨阅读 347评论 1 1
  • 周一太懒不想去出差,于是今天便早早的起床赶第一班巴士,本以为是省钱,结果我发现我错了! 全程走走停停,晃得我都吐了...
    kingFF阅读 209评论 0 0