zoukankan      html  css  js  c++  java
  • git使用笔记(六)github

    By francis_hao    Nov 20,2016

    github介绍

    github是一个网站https://github.com/,可以实现基于git(当然,svn也是可以的)的代码托管工作。我们可以在任何有网络的地方将自己的代码放到这个网站上供自己和别人下载,当然如果你不想让别人下载,也可以放在私人仓库里,不过这是需要收费的。

    先有鸡后有蛋

    创建仓库

    当我们有一个项目需求时,首先在github上新建一个仓库。

    进行基本的说明,比如我想学习一门语言,并想用C程序进行记录学习过程。其配置过程如下,其中第3步的选择会在仓库中生成两个文件,一个是对项目的简单介绍,内容就是第2步中的内容,另一个是你写的程序遵循的协议说明,我选择GPLv3。

    创建后的内容

    下载仓库到本地,修改并上传

    有两种方式:SSH和HTTPS,官方推荐的是HTTPS.

    HTTPS方式

    具体的操作如下,首先复制HTTPS URL.

    现在就可以使用git的clone命令下载了

    $ git clone https://github.com/yinghao-liu/language.git

    当然你也可以指定自己的路径名

    $ git clone https://github.com/yinghao-liu/language.git hello

    在目录下编写文件并编译,生成的可执行文件如果不想提交到git中可以在.git/info/exclude文件中添加规则将它忽略掉,之后就是add和commit了。

    接下来就可以将本的的分支推送到github上了,过程中需要输入github上的用户名和密码

    $ git push origin master:master

    已经成功push上去了

     

    SSH方式

    这种方式的优点是在与服务器通信的时候只要输入一个口令即可,但是前提是必须有一个密钥,在本地生成一个并在github上配置。具体过程如下

    查看本地是否存在密钥

    不存在则生成一个,过程中需要输入两次口令

    之后则是在github网站上进行配置,这里直接贴了github help页的内容

    在github上复制SSH的URL,并在本地进行git clone,下面是两次clone的过程,第一次需要配置github到已知主机上并输入之前设置的口令,以后只输入口令就可以了。

    git clone git@github.com:yinghao-liu/language.git lang_ssh

    修改main.c文件并push到github上

    可以在github上看到这次的修改

    先有蛋后有鸡

    当我们先在本地创建了一个项目,之后想放到github上。

    首先,本地有个提交过的版本库

    然后,新建一个含有README.md,LICENSE的github仓库。

    将本地版本库和新建的github版本库进行关联,其中origin为自定义的远程主机名

    $ git remote add origin https://github.com/yinghao-liu/test.git

    将github版本库里的文件先取下来

    $ git fetch origin

    合并远程主机的分支到本地当前分支

    $ git merge remotes/origin/master -m "merge from remote master"

    将合并后的分支推送到github上

    $ git push origin master:master

    github上已经有本地的文件了

     

    附注

    若推送时候省略参数的形式,会出现提示

    $ git push

    这里有两种模式,设置方式如上图

    simple:默认只推送当前分支(git 2.0版本之后默认的方式)

    matching:推送所有有追踪关系的本地分支(git 2.0版本之前默认的方式)

    设置默认推送方式之后仍然有问题

    需要设置当前分支相关联的远程分支,下例为将本地当前分支关联到远程主机origin的master分支(也就是建立追踪关系)

    $ git push u/--set-upstream origin master

     

     

     


    本文由 刘英皓 创作,采用 知识共享 署名-非商业性使用-相同方式共享 3.0 中国大陆 许可协议进行许可。欢迎转载,请注明出处:
    转载自:http://www.cnblogs.com/yinghao1991/p/6083870.html

     

    参考

    [1] CSDN :http://blog.csdn.net/u012575819/article/details/50553501 git clone,push,pull,fetch命令详解

    [2] gihub :https://help.github.com/ help页

    [3]sitepoint: https://www.sitepoint.com/getting-started-git-team-environment/ Getting Started with Git in a Team Environment

     

     

  • 相关阅读:
    Postgresql HStore 插件试用小结
    postgres-xl 安装与部署 【异常处理】ERROR: could not open file (null)/STDIN_***_0 for write, No such file or directory
    GPDB 5.x PSQL Quick Reference
    postgresql 数据库schema 复制
    hive 打印日志
    gp与 pg 查询进程
    jquery table 发送两次请求 解惑
    python 字符串拼接效率打脸帖
    postgresql 日期类型处理实践
    IBM Rational Rose软件下载以及全破解方法
  • 原文地址:https://www.cnblogs.com/yinghao-liu/p/6083870.html
Copyright © 2011-2022 走看看