1.取得项目的Git仓库的方式

第一种是在现存的目录下,通过导入所有文件来创建新的 Git 仓库。

要对现有的某个项目开始用 Git 管理,只需到此项目所在的目录,执行: $ git init


初始化后,在当前目录下会出现一个名为 .git 的目录,所有 Git 需要的数据和资源都存放在这个目录中。
 
第二种是从已有的 Git 仓库克隆出一个新的镜像仓库来。
如果想对某个开源项目出一份力,可以先把该项目的 Git 仓库复制一份出来,这就需要用到 git clone 命令。Git 收取的是项目历史的所有数据(每一个文件的每一个版本)。
 
2.记录每次更新到仓库
接下来,对这些文件作些修改,在完成了一个阶段的目标之后,提交本次更新到仓库
对于任何一个文件,在 Git 内都只有三种状态:已提交(committed),已修改(modified)和已暂存 (staged)。
Git 管理项目时,文件流转的三个工作区域:Git 的工作目录暂存区域,以及本地仓库
工作目录下面的所有文件都不外乎这两种状态:已跟踪或未跟踪。
  • 已跟踪的文件是指本来就被纳入版本控制管理的文件,在上次快照中有它们的记录,工作一段时间后,它们的状态可能是未更新,已修改或者已放入暂存区。
  • 其他文件都属于未跟踪文件。它们既没有上次更新时的快照,也不在当前的暂存区域。初次克隆某个仓库时,工作目录中的所有文件都属于已跟踪文件,且状态为未修改。
编辑过某些文件之后,Git 将这些文件标为已修改。我们逐步把这些修改过的文件放到暂存区域,直到最后一次性提交所有这些暂存起来的文件,如此重复。
附:
3.可以对文件进行的操作
  1. 检查当前文件状态,可以用 git status 命令
  2. 跟踪新文件,使用命令 git add开始跟踪一个文件
  3. 暂存已修改文件,要暂存这次修改,运行 git add 命令(这是个多功能命令:可以开始跟踪新文件,或者把已跟踪的文件放到暂存区,还能用于合并时把有冲突的文件标记为已解决状态等)
  4. 忽略某些文件,有些文件无需纳入 Git 的管理,也不希望它们总出现在未跟踪文件列表。可以创建一个名为 .gitignore 的文件,列出要忽略的文件模式。
  5. 查看已暂存和未暂存的更新, git status 的显示比较简单,仅仅是列出了修改过的文件,如果要查看具体修改了什么地方,可以用 git diff 命令。单单 git diff 不过是显示还没有暂存起来的改动,而不是这次工作和上次提交之间的差异。
  6. 提交更新,命令 git commit,在暂存准备好可以提交前,一定要确认还有什么修改过的或新建的文件还没有 git add 过,否则提交的时候不会记录这些还没暂存起来的变化。所以,每次准备提交前,先用 git status 看下,是不是都已暂存起来了,然后再运行提交命令 git commit
  7. 跳过使用暂存区域,尽管使用暂存区域的方式可以精心准备要提交的细节,但有时候显繁琐。Git 提供了一个跳过使用暂存区域的方式,在提交的时候,给 git commit 加上 -a 选项,Git 就会自动把所有已经跟踪过的文件暂存起来一并提交,从而跳过 git add 步骤。
  8. 移除某个文件,要从 Git 中移除某个文件,就必须要从已跟踪文件清单中移除(确切地说,是从暂存区域移除),然后提交。可以用 git rm 命令完成此项工作,并连带从工作目录中删除指定的文件,这样以后就不会出现在未跟踪文件清单中了。
  9. 文件移动,不像其他的 VCS 系统,Git 并不跟踪文件移动操作。 mv 命令。要在 Git 中对文件改名,可以这么做:
    $ git mv file_from file_to

    其实,运行 git mv 就相当于运行了下面三条命令:

    $ mv README.txt README #move$ git rm README.txt    #remove$ git add README       #跟踪新文件

    如此分开操作,Git 也会意识到这是一次改名。

4.查看提交历史

  • 在提交了若干更新之后,又或者克隆了某个项目,想回顾下提交历史,可以使用 git log 命令查看。
  • 默认不用任何参数的话,git log 会按提交时间列出所有的更新,最近的更新排在最上面。git log 有许多选项可以帮助你搜寻感兴趣的提交,接下来我们介绍些最常用的。git log -p 选项展开显示每次提交的内容差异,用 -2 则仅显示最近的两次更新。
  • git log 还提供了许多摘要选项可以用,比如 --stat,仅显示简要的增改行数统计,等等。
  • 除了定制输出格式的选项之外,git log 还有许多非常实用的限制输出长度的选项。
  • 随 Git 一同发布的 gitk 就是这样一种工具,基本上相当于 git log 命令的可视化版本。

Step 2---有关Github的几个问题的更多相关文章

  1. github 和 github for windows 学习使用总结

    github 是最大的开源项目托管平台,是一个网站.但是它不仅仅只能托管开源项目或代码,还能作为我们备份重要资料的平台,更重要的是我们可以通过这个平台来学习和获取别人的代码,避免重复造轮子,还可以多人 ...

  2. Github托管代码步骤

    总结一下Github上项目托管步骤: Step 1:注册Github帐号,并创建一个repository,假如仓库名为test: Step 2:安装本地Git: sudo apt-get instal ...

  3. Git GitHub的使用

    Git的工作区示意 GIT总结 使用git github也一段时间突然发现还是少了一些总结,那就从这儿开始吧! (1)git的配置,这儿就从单独的安装配置开始 安装:sudo yum install ...

  4. github package的使用教程

    一.写在前面 上一次,笔者向大家介绍了把gitlab仓库作为npm私包的使用方法,具体的详见我的博文地址https://www.cnblogs.com/cnroadbridge/p/16406476. ...

  5. 【原创】NIO框架入门(三):iOS与MINA2、Netty4的跨平台UDP双向通信实战

    前言 本文将演示一个iOS客户端程序,通过UDP协议与两个典型的NIO框架服务端,实现跨平台双向通信的完整Demo.服务端将分别用MINA2和Netty4进行实现,而通信时服务端你只需选其一就行了.同 ...

  6. revel + swagger 文档也能互动啦

    beego 从 1.3 后开始支持自动化API文档,不过,目测比较复杂,一直期望 revel 能有官方支持. revel 确实已经有了官方支持的计划,有可能将在 0.14 版本支持,现在才 0.11. ...

  7. ios PullToRefresh using animated GIF or image array or Vector image

    说说那些令人惊叹的下拉效果 1. 动画下拉,这里借用一下github的资源 优点:直接用gif图处理,下拉进度完全按照gif图运行时间,只要时间和下拉进度匹配就可以了, 效果很流畅 https://d ...

  8. docker for windows & dotnet core app

    Step 1: 安装docker for windows Step 2: 从github 上 clone 源代码:https://github.com/dotnet/dotnet-docker-sam ...

  9. 如何将已有的本地Git 库推送到远端仓库?

    以Github 为例 step 1. 在Github建立一个空的仓库 Step 2. 建立远端仓库的别名 >$ git remote add origin https://github.com/ ...

随机推荐

  1. 飞扬的小鸟(NOIP2014)(丧病DP题)

    原题传送门 刚开始我还以为这道题目非常的简单.. 然后随便打了一个DP,直接WA,被zxyer狠狠地D了一顿. 然后发现有好多细节.. 首先假如某横坐标没有管子,那么l[x]=0;h[x]=m+1; ...

  2. 解决_CRT_SECURE_NO_WARNINGS 警告

    问题:我们在程序中使用fopen等CRT函数,就会出现一些警告信息,很烦人,如下: 1>e:/project/htt/ishow/functions.cpp(156) : warning C49 ...

  3. (转)cygwin个性化配置

    http://blog.cong.co/cygwin.html#%E5%AE%9A%E4%B9%89%E7%8E%AF%E5%A2%83%E5%8F%98%E9%87%8F配置 cygwin 中的服务 ...

  4. ubuntu16.04安装flash plugin

    命令:apt-get install browser-plugin-freshplayer-pepperflash

  5. 右上角X灰化

    CMenu* menu = this->GetSystemMenu(FALSE); menu->EnableMenuItem(SC_CLOSE, MF_BYCOMMAND | MF_GRA ...

  6. Selenium2+python自动化2-pip降级selenium3.0【转载】

    selenium版本安装后启动Firefox出现异常:'geckodriver' executable needs to be in PATH selenium默默的升级到了3.0,然而网上的教程都是 ...

  7. myeclipse10.7配置resin4.0.36

    Resin-4.0.35 (built Tue, 12 Feb 2013 10:05:50 PST) Copyright(c) 1998-2012 Caucho Technology.  All ri ...

  8. Python_Tips[1] -> 利用 Python 的字典实现 Switch 功能

    利用 Python 的字典实现 Switch 功能 Python是没有switch语句的,当遇到需要实现switch语句的功能时,一般可以用if/else进行代替,但是还有一种更加简洁的实现方法,利用 ...

  9. "library not found for - "解决办法

    在我们编译的时候有时候会报这个错误 "library not found for - " 由于是我们在项目中使用了一些第三方的库,就比如我再使用百度的静态库文件的时候,报出的这个错 ...

  10. VMware开启虚拟化实现CentOS创建KVM

    参考: http://blog.csdn.net/liulove_micky/article/details/48343013