最近参与学校一个比赛,和队友一起做一个小项目,需要将代码传到Coding(国内git代码托管平台),因此这几天才正式入手git版本控制系统,在这里我就记录一下最近的学习git心得体验,一来分享一下自己的学习体验,二来记录自己的学习经验做一次知识梳理,水平有限,可能有疏漏之处。下面主要讲的是通过git与远程代码仓库交互。关于git本地仓库操作不是本文主要内容。
一 git简介
Git 是一种在全球范围都广受欢迎的版本控制系统。Git 是 Linus Torvalds 为了帮助管理 Linux 内核开发而开发的一个开放源码的版本控制软件。具体可以去查资料,一句话,Git是非常强大的分布式版本控制系统。
二 git创建本地版本库
//在home目录下创建新文件夹examplegit
$mkdir examplegit
//进入examplegit文件夹
$cd examplegit
//查看当前文件夹的路径信息
$pwd
//将当前目录examplegit设置为Git可以管理的仓库
$git init
//查看隐藏文件
$ -ah
三 添加远程仓库(在examplegit目录下)
//方法一:通过SSH形式访问远程仓库
$git remote add origin git@git.coding.net:example/examplegit.git
//方法二:通过https形式访问远程仓库
$git remote add origin https://git.coding.net/example/example.git
//以上两种方式,我感觉https比较方便,不需要秘钥。但这里我之前也遇到麻烦,那就是在看廖雪峰git管理,他里面是以github作为托管平台,因此并没有关于https形式访问的教程,因此我在用https访问coding远程仓库时,错误用了git@前缀,后来才知道那是SSH形式才需要的。特此说明。
//查看远程仓库
$git remote -v
四 克隆远程库到本地库
//用https方式克隆远程库到本地
$git clone https://git.coding.net/example/example.git
五 提交本地代码到远程库
//查看本地仓库文件状态,总共有Untracked files,Changes not staged for commit及Changes to be committed三种状态,按照状态名称不难理解
$git status
//将修改内容添加到暂存区
$git add
//将暂存区未commit内容提交到本地分支
$git commit
//在提交本地仓库代码之前,要先pull。格式$git pull <远程主机名><远程分支名>:<本地分支名>(本地分支名可以省略,默认与当前分支合并)
$git pull origin master
//最后push本地代码。格式$git pull<远程主机名><本地分支名>:<远程分支名>(远程分支名可以省略,默认与提交到与本地分支存在“追踪关系”的远程分支,没有就会新建分支)
$git push origin master
--------2017.9.9更新---------
解决fatal: refusing to merge unrelated histories
方法:
git pull origin master ----allow-unrelated-histories