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. [ CodeVS冲杯之路 ] P1063

    不充钱,你怎么AC? 题目:http://codevs.cn/problem/1063/ 本来是想写石子合并的,结果把题目看错了,写成了合并果子…… 凑合交了上去,直接A了…… 题目将可以将任意两堆合 ...

  2. artDialog组件与iframe

    背景 组件官网. 未用过的朋友可以先了解下. 当Content参数传递html元素时,官方的解释是: 备注:1.元素不是复制而是完整移动到对话框中,所以原有的事件与属性都将会保留 2.如果隐藏元素被传 ...

  3. 《Linux命令行与shell脚本编程大全 第3版》高级Shell脚本编程---47

    以下为阅读<Linux命令行与shell脚本编程大全 第3版>的读书笔记,为了方便记录,特地与书的内容保持同步,特意做成一节一次随笔,特记录如下:

  4. Visual Studio Code 好用的 source code editor

    short cut https://code.visualstudio.com/shortcuts/keyboard-shortcuts-linux.pdf go to definition : F1 ...

  5. Linux中tty框架与uart框架之间的调用关系剖析【转】

    转自:http://developer.51cto.com/art/201209/357501.htm 之前本人在"从串口驱动的移植看linux2.6内核中的驱动模型 platform de ...

  6. VC无闪烁刷屏技术的实现【转】

    转自:http://blog.csdn.net/scorpio_tiger/article/details/2888719 http://www.pconline.com.cn/pcedu/empol ...

  7. Centos 6.3Yum安装NodeJS

    1. 添加epel源: (1)查看机器位数 file /sbin/init 或者 file /bin/ls (2)X64: rpm -ivh http://download.fedoraproject ...

  8. pythontips(2):hasattr的用法

    class Xiaorui: def __init__(self): self.name = 'xiaorui' def setName(self, name=''): if name.strip() ...

  9. POJ 1298 The Hardest Problem Ever【字符串】

    Julius Caesar lived in a time of danger and intrigue. The hardest situation Caesar ever faced was ke ...

  10. Python与数据结构[1] -> 栈/Stack[1] -> 中缀表达式与后缀表达式的转换和计算

    中缀表达式与后缀表达式的转换和计算 目录 中缀表达式转换为后缀表达式 后缀表达式的计算 1 中缀表达式转换为后缀表达式 中缀表达式转换为后缀表达式的实现方式为: 依次获取中缀表达式的元素, 若元素为操 ...