zoukankan      html  css  js  c++  java
  • GitHub与Git指令入门

    GitHub入门

    创建账户

    之前做代码版本控制都是在bitbucket上面的私有仓库。现在开源社区挺火的,想在github找些开源的工程学习一下,于是加入了github,这里记录一下入门的经历。

    首先创建账户的过程在这里就省略一万字了…

    点这里进github官网

    创建完账户,你就可以开始建立自己的第一个仓库了。你会在你奇奇怪怪的默认头像旁边看见一个很大的“+”号,点下去,可以看到2个选项,第一个就是新建个代码仓库。

    Alt text

    填好仓库名,然后点上创建一个README,最好也填点说明。

    Alt text

    然后你就能看到下面的界面了,现在里面只有一个ReadMe,注意红框的位置,这就是你的仓库地址,如果要克隆仓库,就是这个地址。

    Alt text

    接下来就可以添加你的工程文件了,你可以用网站上的功能按钮新建文件或者上传文件,但是推荐还是在本地用命令行操作。

    Alt text

    那本地怎么操作呢?有2个方案:

    1. 直接下载github的桌面程序,是可视化的,很容易上手,建议新手使用。https://desktop.github.com/

    这里写图片描述

    2. 使用命令行,这里推荐使用命令行,一来效率高,二来以后你到不同的平台上,能很快的上手,再者如果你以后用的服务器没有图形界面,只能用命令行。所以还是熟悉的好。 
    首先你需要安装git

    Linux上安装Git

    红帽系列

    $ sudo yum install git
    

    Ubuntu系,请尝试用 apt-get:

    $ sudo apt-get install git
    

    Mac上安装Git

    在 Mac 上安装 Git 有多种方式。 最简单的方法是安装 Xcode Command Line Tools。 Mavericks (10.9) 或更高版本的系统中,在 Terminal 里尝试首次运行 git 命令即可。 如果没有安装过命令行开发者工具,将会提示你安装。

    如果你想安装更新的版本,可以使用二进制安装程序。 官方维护的 OSX Git 安装程序可以在 Git 官方网站下载,网址为 http://git-scm.com/download/mac

    Windows上安装Git

    windows用户用2个选择: 
    1. 如果命令已经熟悉的建议用msysGit可以去官网下载: 
    https://git-for-windows.github.io/ 
    2. 如果安装了github桌面版,自动会有个git shell (我用的这个,比较好看) 
    https://desktop.github.com/

    安装就一路下一步就好了。由于我是windows环境,这里重点就讲windows上git的使用,不过命令都是通用的。

    Windows上git使用

    安装完msysgit后,会有Git Bash的图标,安装完github桌面版会有个git shell 
    我建议用git shell,比较友好(但是命令都是通用的)。Git shell里面,windows和linux的命令都可以用!是不是很赞。

    这里写图片描述

    打开后是一个控制台,然后就可以输入命令了

    Alt text

    一开始什么都不会的时候,可以使用

     git help
    

    查看可用命令。下面先记录一些刚开始可能会用到的命令,剩下的命令以后再记录。

    Git常用命令

    获取仓库

    可以用

    git init
    

    初始化一个仓库,但是一般常用的都是克隆现有的仓库,这里还是用刚才创建的helloworld仓库

    git clone https://github.com/hk029/hello-world.git
    

    url后面可以用一个新的路径名,让它保存到特定的目录下,默认就是当前路径下创建一个和仓库名一样的目录。

    注意:这个命令是克隆了一个仓库而不是简单的拷贝了文件下来,还保存了有关仓库的信息,基本就是克隆出了一个小的本地仓库。

    然后可以cd进去看看

    这里写图片描述

    这里有个比较有意思的地方,你会发现目录名后一个’[master]’这个表示目前这是一个master分支。当前目录有个.git目录,它会记录仓库的信息,所以你能看到‘[master]’这个标签。之后你对当前目录的文件做的操作,都会被记录。

    状态与暂存

    检查目前仓库的状态是挺重要的一个环节,以免你提交代码的时候提交的不是最新代码。 
    一般来说,你目前目录下的文件就两种状态

    • 跟踪
    • 未跟踪

    我们可以先输入命令看看当前仓库的状态

     git status
    

    Alt text

    可以发现目前目录下很干净,一切都和当初克隆下来一样,所以状态显示也是很干净。

    我们新键一个文件,或者从别的地方移动一个文件到当前目录下,看看有什么变化。

    Alt text

    我们可以看见,‘[master]’之后多了几个东西。

    +1 表示目前有1个新文件 
    ~0 表示0个修改的文件 
    -0 表示0个删除的文件 
    ! 表示未保存

    我们再输入status命令看看

    这里写图片描述

    发现目前有个未跟踪的文件了。

    我们把它暂存到暂存区

     git add NewFile
    

    这个命令会把这个文件放到暂存区(还是在本地)到时候提交的时候就会把暂存区的东西提交到网上。

    这里写图片描述

    这个时候,我们发现红色的字变成了绿色,感叹号也没有了,说明目前修改都已经保存了。

    再输入satus命令看看 
    这里写图片描述

    这个时候已经是跟踪状态了。

    如果我们这时候修改NewFile会发生什么呢?

    这里写图片描述

    可以发现,又变红了,这时候出先了~1,说明有一个修改文件。使用status命令看看

    这里写图片描述

    果然,出现了一个NewFile在未跟踪里面。这不是很奇怪吗,一个文件既是跟踪又是未跟踪?其实这很好理解,你可以理解为暂存区还有一个NewFile拷贝,就是原来那个我们add的“空”的NewFile。修改的这个不在暂存区,如果这时候我们把所有修改提交,那么提交的是“空”的NewFile。

    所以当我们提交前,一定要看是不是还有红字?是不是还有什么修改没有更新到暂存区!

    最后,还说下,其实git status有个简化输出的形式。

    git status -s
    

    这里写图片描述

    这里我为了让所有状态都出现,删除了README.md,可以发现这个简化版输出其实更直观。

    这里写图片描述

    我们把所有的修改更新到暂存区吧:

    git add NewFile
    git rm README.md
    

    现在所有的更新都更新到暂存区了,可以提交了!

    提交到本地仓库

    这里的commit只是保存到了本地。如果你只需要一个本地仓库,那么现在也就够了。

    git commit -m "my first commit"
    

    这里写图片描述

    注意:一定要带-m加上说明

    推送到远程仓库

    因为你是直接从远程仓库拷贝的,所以你输入

    git remote
    

    会发现已经有个orignal了 
    这个时候你直接git push就行了

    git push
    

    这里写图片描述

    这里写图片描述

    用SSH连接并推送到远程仓库

    但是,建议还是使用ssh的模式,安全点。下面说下ssh的模式怎么用,首先你要创建一个私钥,就是在自己电脑里的钥匙。

    ssh-keygen -t rsa -C "your email addr"
    

    这里写图片描述
    第一个是问你改不改目录,回车就好。然后输入密码,确认(这个密码是生成这个密钥的密码,也可以为空,这样你下次push就不用输入密码了)。

    然后你就可以去那个目录下找id_rsa.pub文件,打开(随便用什么打开),把里面的东西复制。

    这里写图片描述

    然后去网站上把自己私钥输入进去,头像——settings

    这里写图片描述

    根据图片点New SSH key

    这里写图片描述

    然后输入一个随便什么title自己知道就好,和你刚才复制的东西在key里

    这里写图片描述

    这时候,就算在github上注册了你的私钥,然后在输入

    ssh -T git@github.com
    

    看看是不是能ssh连上github

    这里写图片描述

    好了一切准备就绪。 
    我们先把远程仓库加上:

    这里写图片描述

    选择ssh,然后复制后面的地址。

    (因为之前有一个original的,我们这里方便测试先删了它)

    git remote rm origin
    

    输入

    git remote 
    

    发现没东西了,可以添加新的远程仓库了。

    git remote add origin git@github.com:hk029/hello-world.git
    

    这里写图片描述

    然后输入

    git push -u origin master
    

    master是你的分支,origin是你的远程仓库

    第一次git push -u origin master后,就可以用直接用git push指令了


    好了这些基本操作就可以满足一些日常使用了,后续再加一些关于分支还有撤销 删除的操作。

    转自:http://www.cnblogs.com/voidsky/p/5490812.html

     
     
  • 相关阅读:
    【Nginx】ngx_event_core_module模块
    ELMAH--Using HTTP Modules and Handlers to Create Pluggable ASP.NET Components 77 out of 90 rated th
    nyist oj 214 单调递增子序列(二) (动态规划经典)
    java 入门书籍(java7)
    ARCGIS将WGS84坐标投影到高斯平面
    【linux】linux下对java程序生成dump文件,并使用IBM Heap Analyzer进行分析,查找定位内存泄漏的问题代码
    【springboot】【socket】spring boot整合socket,实现服务器端两种消息推送
    【linux】linux修改open file 大小
    【docker】docker限制日志文件大小的方法+查看日志文件的方法
    【docker】docker部署spring boot服务,但是docker logs查看容器输出控制台日志,没有日志打印,日志未打印,docker logs不打印容器日志
  • 原文地址:https://www.cnblogs.com/alinaxia/p/6406591.html
Copyright © 2011-2022 走看看