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. ClientScript.RegisterClientScriptBlock 不执行

    ClientScript.RegisterClientScriptBlock 不执行 页面中 form标签必须加入 runat=server

  2. centos dhcp获取不到ip解决方法 Bringing up interface eth0: Device eth0 does not seem to be present,delaying initialization.

    1.删除文件: /etc/udev/rules.d/70-persistent-net.rules 2.编辑 /etc/sysconfig/network-scripts/ifcfg-eth0 删除H ...

  3. STM in Haskell

    Software Transactional Memory,软件事务内存管理(应该是这么翻译的吧T_T) 类似于数据库的事务,所有的操作都有log,最后验证其他线程是否对数据进行修改,要是有那么就回滚 ...

  4. Video for Linux Two API Specification revision0.24【转】

    转自:http://blog.csdn.net/jmq_0000/article/details/7536805#t136 Video for Linux Two API Specification ...

  5. yii上传图片、yii上传文件、yii控件activeFileField使用

    yii框架提供了activeFileField控件来完成上传文件(当然也包括了上传图片)的操作,下面介绍yii的activeFileField使用方法.1.函数原型:public static str ...

  6. 使用windos电脑模拟搭建集群(四)web环境 linux+nginx+jdk+tomcat

    1.使用ansible的playbook自动安装两台web主机的nginx 1.配置模块 主机清单 2.创建 playbook目录并编写安装nginx的playbook mkdir -p playbo ...

  7. Centos7部署Open-Falcon监控

    参考博主:努力哥完成 一.Open-Falcon介绍 1.监控系统,可以从运营级别(基本配置即可),以及应用级别(二次开发,通过端口进行日志上报),对服务器.操作系统.中间件.应用进行全面的监控,及报 ...

  8. Jquery学习之路(一) 实现checkbox全选方法

    昨天早上有写到怎么利用Jquery实现全选 根据大家的意见对程序中一些写法不好的地方进行了修改,也是本人水平有限,存在各种考虑不到的地方. 文章最后我提出了一个问题,要写一个通用的方法来调用,于是就有 ...

  9. HDU 2795.Billboard-完全版线段树(区间求最值的位置、区间染色、贴海报)

    HDU2795.Billboard 这个题的意思就是在一块h*w的板子上贴公告,公告的规格为1*wi ,张贴的时候尽量往上,同一高度尽量靠左,求第n个公告贴的位置所在的行数,如果没有合适的位置贴则输出 ...

  10. Python的网络编程[1] -> FTP 协议[1] -> 使用 pyftplib 建立 FTP 服务器

    使用 pyftplib 建立 FTP 服务器 pyftplib 主要用于建立 FTP Server,与 ftplib 建立的 Client 进行通信. 快速导航 1. 模块信息 2. 建立 FTP 服 ...