最近参与学校一个比赛,和队友一起做一个小项目,需要将代码传到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

  

Git学习笔记(Mac Linux系统)的更多相关文章

  1. Linux学习笔记之Linux系统的swap分区

    0x00 什么是swap分区 Swap分区在系统的物理内存不够用的时候,把物理内存中的一部分空间释放出来,以供当前运行的程序使用.那些被释放的空间可能来自一些很长时间没有什么操作的程序,这些被释放的空 ...

  2. Linux学习笔记(七) 查询系统

    1.查看命令 (1)man 可以使用 man 命令名称 命令查看某个命令的详细用法,其显示的内容如下: NAME:命令名称 SYNOPSIS:语法 DESCRIPTION:说明 OPTIONS:选项 ...

  3. Git学习笔记(10)——搭建Git服务器

    本文主要记录了Git服务器的搭建,以及一些其他的配置,和最后的小总结. Git远程仓库服务器 其实远程仓库和本地仓库没啥不同,远程仓库只是每天24小时开机为大家服务,所以叫做服务器.我们完全可以把自己 ...

  4. Git学习笔记(四)

    一.忽略特殊文件 在Git工作区的根目录下创建一个特殊的.gitignore文件,然后把要忽略的文件名填进去,Git就会自动忽略这些文件. 不需要从头写.gitignore文件,GitHub已经为我们 ...

  5. Git学习笔记---协作的一般流程

    一般的操作流程 1.pull 王小坤与另一个同事张大炮一起开发一个项目,张大炮昨天修改了数据库读写的api,优化了执行速度,并把read()函数改名成了Read(),下午下班之前把这些代码push到服 ...

  6. Linux内核分析第六周学习笔记——分析Linux内核创建一个新进程的过程

    Linux内核分析第六周学习笔记--分析Linux内核创建一个新进程的过程 zl + <Linux内核分析>MOOC课程http://mooc.study.163.com/course/U ...

  7. Pro Git 学习笔记

    Pro Git 学习笔记 文档地址:Pro Git原文地址:PRO GIT 学习笔记 git常见命令 1.Git起步 初次运行Git前的配置 用户信息 git config --global user ...

  8. Git学习笔记(二) · 非典型性程序猿

    远程库的使用 前面说到的都是git在本地的操作,那么实际协作开发过程中我们肯定是要有一个远程版本库作为项目的核心版本库,也就是投入生产使用的版本.这里我们以 Github为例.Github是一个开放的 ...

  9. Git学习笔记与IntelliJ IDEA整合

    Git学习笔记与IntelliJ IDEA整合 一.Git学习笔记(基于Github) 1.安装和配置Git 下载地址:http://git-scm.com/downloads Git简要使用说明:h ...

  10. IT技术学习指导之Linux系统入门的4个阶段(纯干货带图)

    IT技术学习指导之Linux系统入门的4个阶段(纯干货带图) 全世界60%的人都在使用Linux.几乎没有人没有受到Linux系统的"恩惠",我们享受的大量服务(包括网页服务.聊天 ...

随机推荐

  1. char* 和char[]的区别

    以下内容均来自互联网,系笔者汇总并总结. 1. 问题介绍 问题引入:在实习过程中发现了一个以前一直默认的错误,同样char *c = "abc"和char c[]="ab ...

  2. VMware-workstation-full-12.0.0-2985596&VMware-player-12.0.0-2985596

    VMware-workstation-full-12.0.0-2985596 永久KEY:YV3D2-A0D50-481XP-KPNGE-ZV2ZF VMware-player-12.0.0-2985 ...

  3. iOS 上拉下拉刷新简单实现代码

    一般说到上拉刷新下拉刷新,很多人可能想到的是一个第三方开源框架EGORefresh,下面说下,如何自己写代码实现. UITableView本身是一个UIScrollView,所以UITableView ...

  4. JAVA中管道通讯(线程间通讯)例子

    Java I/O系统是建立在数据流概念之上的,而在UNIX/Linux中有一个类似的概念,就是管道,它具有将一个程序的输出当作另一个程序的输入的能力.在Java中,可以使用管道流进行线程之间的通信,输 ...

  5. Highcharts指南

    摘要 Highcharts图表控件是目前使用最为广泛的图表控件.本文将从零开始逐步为你介绍Highcharts图表控件.通过本文,你将学会如何配置Highcharts以及动态生成Highchart图表 ...

  6. 7.2.3 使用RenderTargetBitmap类生成图片

    RenderTargetBitmap类可以将可视化对象转换为位图,也就是说它可以将任意的UIElement以位图的形式呈现.那么我们在实际的编程中通常会利用RenderTargetBitmap类来对U ...

  7. .net 下判断中英文字符串长度

    System.Text.Encoding.Default.GetBytes(str).Length

  8. NSOperationQueue的其他方法

    1.设置最大并发数 什么是并发数 同时执行的任务数 比如,同时开3个线程执行3个任务,并发数就是3   最大并发数的相关方法 - (NSInteger)maxConcurrentOperationCo ...

  9. ResultSet 结果集带回来的一些信息

    ResultSet.getMetaData() 得到结果集的结构信息,比如字段数.字段名等. ResultSet.getMetaData().getTableName(1) 就可以返回表名. Resu ...

  10. C#栈

    线性表.栈和队列这三种数据结构的数据元素以及数据元素间的逻辑关系完全相同,差别是线性表的操作不受限制,而栈和队列的操作受到限制.栈的操作只能在表的一端进行, 队列的插入操作在表的一端进行而其它操作在表 ...