首页 > 代码库 > Step 2---有关Github的几个问题
Step 2---有关Github的几个问题
1.取得项目的Git仓库的方式
第一种是在现存的目录下,通过导入所有文件来创建新的 Git 仓库。
要对现有的某个项目开始用 Git 管理,只需到此项目所在的目录,执行: $ git init
初始化后,在当前目录下会出现一个名为 .git 的目录,所有 Git 需要的数据和资源都存放在这个目录中。
第二种是从已有的 Git 仓库克隆出一个新的镜像仓库来。
如果想对某个开源项目出一份力,可以先把该项目的 Git 仓库复制一份出来,这就需要用到
git clone
命令。Git 收取的是项目历史的所有数据(每一个文件的每一个版本)。2.记录每次更新到仓库
接下来,对这些文件作些修改,在完成了一个阶段的目标之后,提交本次更新到仓库。
对于任何一个文件,在 Git 内都只有三种状态:已提交(committed),已修改(modified)和已暂存 (staged)。
Git 管理项目时,文件流转的三个工作区域:Git 的工作目录,暂存区域,以及本地仓库。
工作目录下面的所有文件都不外乎这两种状态:已跟踪或未跟踪。
- 已跟踪的文件是指本来就被纳入版本控制管理的文件,在上次快照中有它们的记录,工作一段时间后,它们的状态可能是未更新,已修改或者已放入暂存区。
- 其他文件都属于未跟踪文件。它们既没有上次更新时的快照,也不在当前的暂存区域。初次克隆某个仓库时,工作目录中的所有文件都属于已跟踪文件,且状态为未修改。
编辑过某些文件之后,Git 将这些文件标为已修改。我们逐步把这些修改过的文件放到暂存区域,直到最后一次性提交所有这些暂存起来的文件,如此重复。
附:
3.可以对文件进行的操作
- 检查当前文件状态,可以用
git status
命令 - 跟踪新文件,使用命令
git add开始跟踪一个文件
暂存已修改文件,
要暂存这次修改,运行git add
命令(这是个多功能命令:可以开始跟踪新文件,或者把已跟踪的文件放到暂存区,还能用于合并时把有冲突的文件标记为已解决状态等)- 忽略某些文件,有些文件无需纳入 Git 的管理,也不希望它们总出现在未跟踪文件列表。可以创建一个名为
.gitignore
的文件,列出要忽略的文件模式。 - 查看已暂存和未暂存的更新,
git status
的显示比较简单,仅仅是列出了修改过的文件,如果要查看具体修改了什么地方,可以用git diff
命令。单单git diff
不过是显示还没有暂存起来的改动,而不是这次工作和上次提交之间的差异。 - 提交更新,命令
git commit
,在暂存准备好可以提交前,一定要确认还有什么修改过的或新建的文件还没有git add
过,否则提交的时候不会记录这些还没暂存起来的变化。所以,每次准备提交前,先用git status
看下,是不是都已暂存起来了,然后再运行提交命令git commit
。
- 跳过使用暂存区域,尽管使用暂存区域的方式可以精心准备要提交的细节,但有时候显繁琐。Git 提供了一个跳过使用暂存区域的方式,在提交的时候,给
git commit
加上-a
选项,Git 就会自动把所有已经跟踪过的文件暂存起来一并提交,从而跳过git add
步骤。 - 移除某个文件,要从 Git 中移除某个文件,就必须要从已跟踪文件清单中移除(确切地说,是从暂存区域移除),然后提交。可以用
git rm
命令完成此项工作,并连带从工作目录中删除指定的文件,这样以后就不会出现在未跟踪文件清单中了。 - 文件移动,不像其他的 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
命令的可视化版本。
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。