1.创建新仓库

#创建新文件夹,打开,然后执行
git init
#以创建新的 git 仓库。

2.检出仓库

#执行如下命令以创建一个本地仓库的克隆版本:
git clone /path/to/repository #如果是远端服务器上的仓库,你的命令会是这个样子:
git clone username@host:/path/to/repository

3.工作流

#你的本地仓库由 git 维护的三棵“树”组成。
#第一个是你的 工作目录,它持有实际文件;
#第二个是 暂存区(Index),它像个缓存区域,临时保存你的改动;
#最后是 HEAD,它指向你最后一次提交的结果。

4.添加和提交

#你可以提出更改(把它们添加到暂存区),使用如下命令:
git add <filename>
git add *
#这是 git 基本工作流程的第一步;使用如下命令以实际提交改动:
git commit -m "代码提交信息"
#现在,你的改动已经提交到了 HEAD,但是还没到你的远端仓库。

5.推送改动

#你的改动现在已经在本地仓库的 HEAD 中了。执行如下命令以将这些改动提交到远端仓库:
git push origin master
#可以把 master 换成你想要推送的任何分支。
#如果你还没有克隆现有仓库,并欲将你的仓库连接到某个远程服务器,你可以使用如下命令添加:
git remote add origin <server>
#如此你就能够将你的改动推送到所添加的服务器上去了。

6.分支

#分支是用来将特性开发绝缘开来的。
#在你创建仓库的时候,master 是“默认的”分支。在其他分支上进行开发,完成后再将它们合并到主分支上。
#创建一个叫做“feature_x”的分支,并切换过去:
git checkout -b feature_x
#切换回主分支:
git checkout master
#再把新建的分支删掉:
git branch -d feature_x
#除非你将分支推送到远端仓库,不然该分支就是 不为他人所见的:
git push origin <branch>

7.更新与合并

#要更新你的本地仓库至最新改动,执行:
git pull
#以在你的工作目录中 获取(fetch) 并 合并(merge) 远端的改动。
#要合并其他分支到你的当前分支(例如 master),执行:
git merge <branch>
#在这两种情况下,git 都会尝试去自动合并改动。遗憾的是,这可能并非每次都成功,并可能出现冲突(conflicts)。 这时候就需要你修改这些文件来手动合并这些冲突(conflicts)。改完之后,你需要执行如下命令以将它们标记为合并成功:
git add <filename>
#在合并改动之前,你可以使用如下命令预览差异:
git diff <source_branch> <target_branch>

8.标签

#为软件发布创建标签是推荐的。这个概念早已存在,在 SVN 中也有。你可以执行如下命令创建一个叫做 1.0.0 的标签:
git tag 1.0.0 1b2e1d63ff
#1b2e1d63ff 是你想要标记的提交 ID 的前 10 位字符。可以使用下列命令获取提交 ID:
git log
#你也可以使用少一点的提交 ID 前几位,只要它的指向具有唯一性。

9.替换本地改动

#假如你操作失误(当然,这最好永远不要发生),你可以使用如下命令替换掉本地改动:
git checkout -- <filename>
#此命令会使用 HEAD 中的最新内容替换掉你的工作目录中的文件。已添加到暂存区的改动以及新文件都不会受到影响。
#假如你想丢弃你在本地的所有改动与提交,可以到服务器上获取最新的版本历史,并将你本地主分支指向它:
git fetch origin
git reset --hard origin/master

10.实用小贴士

#内建的图形化 git:
gitk
#彩色的 git 输出:
git config color.ui true
#显示历史记录时,每个提交的信息只显示一行:
git config format.pretty oneline
#交互式添加文件到暂存区:
git add -i

GitHub指南的更多相关文章

  1. 【项目管理】GitHub使用操作指南

    GitHub使用操作指南 作者:白宁超 2016年10月5日18:51:03> 摘要:GitHub的是版本控制和协作代码托管平台,它可以让你和其他人的项目从任何地方合作.相对于CVS和SVN的联 ...

  2. 【翻译】Fluent NHibernate介绍和入门指南

    英文原文地址:https://github.com/jagregory/fluent-nhibernate/wiki/Getting-started 翻译原文地址:http://www.cnblogs ...

  3. 使用git和github托管个人项目

    1.  安装 cygwin 和 cygwin 下的 git , 测试 git 命令可用;   参考: https://cygwin.com/install.html 2.  注册 github 账号: ...

  4. 史上最简单的 GitHub 教程

    史上最简单的 GitHub 教程 温馨提示:本系列博文已经同步到 GitHub,如有需要的话,欢迎大家到「github-tutorial」进行Star和Fork操作! 1 简介 GitHub 是一个面 ...

  5. GitHub 的简单使用

    GitHub 的简单使用 2016-01-28 16:32:481909浏览1评论 一.Git 版本控制器 commit:做一个版本:commit new file:添加到版本中,下边填的是项目的描述 ...

  6. GITHUB手册

    GitHub 指南 原文地址:GitHub官网指南 示例项目:Hello World 十分钟轻松教学 在学习计算机语言编程的过程中创建Hello World 项目是一个历史悠久的传统.当你接触一门新事 ...

  7. git创建使用1https://blog.csdn.net/Hanani_Jia/article/details/77950594

    这篇文章是我自己写的关于GitHub的内容,从我刚听到这个直到设置成功每一步都有详细的步骤来解释,其中有一些截图或者代码来自于网上. 首先,我先对GitHub来一个简单的介绍,GitHub有一个很强大 ...

  8. 如何在Windows上使用Python进行开发

    本文由葡萄城技术团队于原创并首发 转载请注明出处:葡萄城官网,葡萄城为开发者提供专业的开发工具.解决方案和服务,赋能开发者. 一直以来C#都是微软在编程语言方面最为显著的Tag,但时至今日Python ...

  9. 搜刮一些开源项目的APP

    iOS完整App资源收集 <iOS完整app资源收集>  <GitHub 上有哪些完整的 iOS-App 源码值得参考?> <GitHub 上有哪些完整的 iOS-App ...

随机推荐

  1. LintCode "Max Tree"

    Something new I learnt from it: what is Treap and a O(n) construction https://en.wikipedia.org/wiki/ ...

  2. php缓存数组到文件

    php缓存数组到文件 static function getIDs($kemuid) { $cachefile="cache/" . $kemuid . ".cache& ...

  3. Nginx做反向代理总是被系统kill

    公司使用Nginx做反向代理,以前都挺正常的,最近不知怎么回事总是无端被系统kill,而在nginx错误日志中也没有信息输出. 网上查了很多资料,也没什么靠谱的回答,唯一觉得有点关联的就是linux ...

  4. (C++) 基本面试题(整理)

    1.new.delete.malloc.free关系 new/delete是C++的运算符.new 调用构造函数用于动态申请内存,delete调用对象的析构函数,用于释放内存. malloc与free ...

  5. HashMap 实现原理(复习)

    1. HashMap的数据结构 数据结构中有数组和链表来实现对数据的存储,但这两者基本上是两个极端. 数组 数组存储区间是连续的,占用内存严重,故空间复杂的很大.但数组的二分查找时间复杂度小,为O(1 ...

  6. Hadoop MapReduce编程学习

    一直在搞spark,也没时间弄hadoop,不过Hadoop基本的编程我觉得我还是要会吧,看到一篇不错的文章,不过应该应用于hadoop2.0以前,因为代码中有  conf.set("map ...

  7. BPEL_Oracle BPEL新一代工作流介绍(概念)

    2014-11-02 Created By BaoXinjian

  8. sublime好看的字体

    真的没想到我这篇博客会成为阅读量最多的,那我就再分享一个字体吧! 字体是:Consolas Italic 代码在下面, 还有sublime也可以设置透明度哦 如果想弄 百度去下个插件就可以了 { &q ...

  9. hdu 5438 Ponds dfs

    Time Limit: 1500/1000 MS (Java/Others)     Memory Limit: 131072/131072 K (Java/Others) Problem Descr ...

  10. centos更改默认语言

    centos7以下版本: vim /etc/sysconfig/i18n 7以上版本: