Linux基础※※※※如何使用Git in Linux(二)
参考资料:
1. http://www.liaoxuefeng.com/wiki/0013739516305929606dd18361248578c67b8067c8c017b000
2. Git-简明教程
4. Pro Git
☢ Git与Github之间传输
Git的定义:
"Git is a free and open source distributed version control system designed to handle everything from small to very large projects with speed and efficiency"
Github的定义:
"GitHub is a web-based Git repository hosting service, which offers all of the distributed revision control and source code management (SCM) functionality of Git as well as adding its own features."
Git是一个版本控制系统,它是一个管理你源代码修改历史的工具,而Github则提供Git Repositories的远程托管服务。实际上,我们完全可以不需要Github,而直接用Git作为一个本地的版本控制系统。Github从某种意义上,有备份本地资源和利于合作的意思。
图1 Github支持的传输的协议
由上图可以看出,Github支持两种协议:SSH和GPG协议进行传输。
sudo ssh-keygen -t rsa -C "youremail@example.com"
可以按上边的命令,创建ssh的公钥和私钥,并将公钥复制到Github上。请使用下边的命令进行测试ssh是否能通信成功:
sudo ssh -T git@github.com
☢ 关联本地Git项目与Github项目
在本地创建项目testProj将其关联到Github上创建的项目testProj。
创建本地项目testProj:
sudo mkdir testProj
cd testProj
sudo git init
在Github上创建testProj项目
图2 在Github上创建项目
将本地项目与Giihub项目关联:
sudo git remote add origin git@github.com:yourUserName/testProj.git
或则,用下边的命令关联
sudo git remote add origin https://github.com/yourUserName/testProj.git
如果碰到出错信息:fatal:remote origin already exists,则先输入下边命令删除当前项目的origin,再输入上边的命令关联。
sudo git remote rm origin
如果仍然还有上边的错误,就得看gitconfig文件了,并将其中关于 remote origin的项删除再继续关联。
创建readme.txt,并将其push到github上。
sudo touch readme.txt
sudo git add readme.txt
sudo git commit -m 'Add readme.txt' sudo git push origin master
注意:如果没有创建readme.txt文件,而直接调用最后一行的代码,会产生error: src refspec master does not match any(不能push空目录)。
现在,我们就可以在本地修改,并将改动push到remote的Github上了。另外,注意将本地push到远程时,readme.txt是在本地创建的,远程创建只是一个空目录。
☢ 远程克隆到本地
在远程Github上创建testProj2,里面包含一个README文件,且添加内容如下:
图三 在Git上创建testProj2
使用如下命令将远程Github项目testProj2克隆到本地:
sudo git clone git@github.com:yourUserName/testProj2.git
☢ 创建并合并分支
在创建分支前,我们需先切换到testProj2里。
cd testProj2
然后,创建分支dev:
sudo git branch dev
然后,切换到分支dev:
sudo git checkout dev
注意:上边两条命令等价于下边一条命令:
sudo git checkout -b dev
然后,我们可以查看本地所有分支,其中,当前分支前会有一个*号:
sudo git branch
查看远程分支:
sudo git branch -r
然后,对README.md文件进行修改,并提交。
然后,切换到master分支,此时,dev分支的改动并不在master分支上,所有我们看不见刚才的改动:
sudo git checkout master
然后,将dev合并到master上:
sudo git merge dev
合并完后,删除dev分支:
sudo git branch -d dev
Linux基础※※※※如何使用Git in Linux(二)的更多相关文章
- Linux基础※※※※如何使用Git in Linux(一)
参考资料: 1. https://www.linux.com/learn/tutorials/796387-beginning-git-and-github-for-linux-users/ 2. h ...
- Linux基础学习(1)--Linux系统简介
第一章——Linux系统简介 1.UNIX和Linux发展史: 1.1 unix发展史: (1)1965年,美国麻省理工学院(MIT).通用电气公司(GE)及AT&T的贝尔实验室联合开发Mul ...
- 大数据学习笔记之Linux基础(一):Linux初窥
文章目录 一.Linux入门概述 1.1 概述 1.2 下载地址 1.3 Linux特点 1.4 Linux和Windows区别 二.VM安装相关 2.1 安装VMWare虚拟机 2.2 安装Cent ...
- Linux基础回想(1)——Linux系统概述
1. 什么是操作系统?它与硬件以及其它软件之间的关系是如何的? 操作系统是控制和管理计算机系统内各种硬件和软件资源.有效组织多道程序执行的系统软件(或程序集合),是用户和计算机之间的接口.详细的说: ...
- Linux基础之常用命令整理(二)
Linux系统启动流程 bios(找到启动介质) --> mbr(找到boot loader 512B 446引导信息 64分区信息 2 标志位 ) -->grub(选择操作系统或者内核 ...
- linux基础-第十四单元 Linux网络原理及基础设置
第十四单元 Linux网络原理及基础设置 三种网卡模式图 使用ifconfig命令来维护网络 ifconfig命令的功能 ifconfig命令的用法举例 使用ifup和ifdown命令启动和停止网卡 ...
- Linux基础教程(一)——Linux系统简介
Linux的概述 Linux是基于Unix的开源免费的操作系统,由于系统的稳定性和安全性几乎成为程序代码运行的最佳系统环境.Linux是由Linus Torvalds(林纳斯·托瓦兹)起初开发的,由于 ...
- java程序员菜鸟进阶(十五)linux基础入门(三)linux用户和组管理
我们大家都知道,要登录linux操作系统,我们必须要有一个用户名和密码.每一个用户都由一个惟一的身份来标识,这个标识叫做用户ID.系统中的每一个用户也至少需要属于一个"用户分组". ...
- Linux基础学习(13)--Linux系统管理
第十三章——Linux系统管理 一.进程管理 1.进程查看: (1)进程简介:进程是正在执行的一个程序或命令,每一个进程都是一个运行的实体,都有自己的地址空间,并占用一定的系统资源. (2)进程管理的 ...
随机推荐
- mongodb 安装后 出现警告:** WARNING: soft rlimits too low. Number of files is 256, should be at least 1000
警告问题:当前mongodb 支持的最大文件数有256个,但是推荐至少1024个. 解决办法: 1.关闭现在打开的mongodb 终端窗口 2.重新打开终端并运行一下命令: sudo launchct ...
- Nginx配置(日志服务器中关于日志的产生)
一:概括 1.需要配置的概括 定义日志格式 日志的分割字段:^A 日志格式:IP地址^A服务器时间^A请求参数 配置location,记录请求日志到本地磁盘 将数据按照给定的日志格式存储到本地磁盘 二 ...
- Maintaining Your Signing Identities and Certificates 维护你的签名标识和证书
Code signing your app lets users trust that your app has been created by a source known to Apple and ...
- discuz安装
1.upload文件复制到根目录下,访问,安装 2.数据库需要提前建好 3.数据库地址默认是localhost,我安装时是127.0.0.1 4.最好在本地安装时,配置本地域名和线上域名一样,不然迁移 ...
- Inside Flask - signal 信号机制
Inside Flask - signal 信号机制 singal 在平常的 flask web 开发过程中较少接触到,但对于使用 flask 进行框架级别的开发时,则必须了解相关的工作机制.flas ...
- Python基础(深、浅拷贝)
深.浅拷贝 基础:对象,引用,可变与可变 对于不可变的对象,如字符串.元组.数字深浅拷贝没有什么意义. 1.浅拷贝 浅拷贝只拷贝第一层对象(拷贝的实际是一个框子,拷贝过去的框子是不会变的,但是原先的框 ...
- HTTP协议 keep-alive连接 与 BS(firefox-thttpd)实验
什么是 keep-alive 连接 https://en.wikipedia.org/wiki/HTTP_persistent_connection HTTP persistent connectio ...
- MVC Action返回Json
Action [HttpPost] public ActionResult Edit(Study_CourseHourModel model) { ...
- Python介绍、安装、使用
Python介绍.安装.使用 搬运工:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.Python语言介绍 说到Python语言,就不得不说一下它的创始人Guido van Rossu ...
- Linux 下修改配置实现在当前目录下寻找可执行文件
# vim .bash_profile 添加 export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:. # vreboot