Git 基本操作

Git 基本操作

git init

创建版本库

$ git init

git add

将文件添加到版本库暂存区

$ git add welcom.txt

git commit

提交到本地版本库

$ git commit -m "注释"

git clone

克隆远程版本库

$ git clone git://192.167.100.232/AMSS.git

git rm

删除文件

要从Git版本库中删除某个文件,就必须要先从暂存区删除,然后提交。可以用 git rm 命令完成此工作,并连带从工作区中删除指定的文件。

$ git rm welcom.txt

强制删除

如果删除之前修改过并且已经加到暂存区的话,则必须要用强制删除选项-f。

$ git rm -f welcom.txt

删除Git版本库中文件,保留当前工作区文件

如果只想把文件从Git版本库中删除,但想保留在当前工作区,可以用–cached选项。

$ git rm --cached welcom.txt

删除文件夹里所有文件

$ git rm -r dir/

快速标记删除

将本地有改动(包括修改和删除)的文件标记到暂存区

$ git add -u .

git mv

移动文件

$ git mv file_from file_to

git mv 命令相当于运行了下面三条命令:

$ mv file_from file_to
$ git rm file_from
$ git add file_to

git diff

git status

Git status 命令用来确定哪些文件当前处于什么状态。

Nothing to commit: 工作目录是干净的,即当前没有任何被加到暂存区,也没有任何文件在上次提交后更改过。

Changes not staged for commit: 版本库中的文件在工作区中被修改了,还没有加到暂存区中(即还没有git add),也没有提交到版本库中。

Changes to be committed: 版本库中的文件在工作区中被修改了,并已加到暂存区中(即也git add),但还没有提交到版本库中。

Untracked files: 新加文件,版本库中并没有此文件。

Git status -s

第一列为暂存区状态

第二列为工作区状态

$ git status -s

MM aaa

位于第一列的字符 M 的含义是:版本库中的文件与处于中间状态——提交任务(提交暂存区,stage)中的文件相比有改动。

位于第二列的字符 M 的含义是:工作区当前的文件与处于中间状态——提交任务(提交暂存区,stage)中的文件相比有改动。

git log

查看历史提交。

默认不用任何参数的话,git log 会按提交时间列出所有的更新,最近的更新排在最上面。每次更新都有一个 SHA1 哈希值、作者的名字和电子邮件地址、提交时间及提交说明。

参数:

-p       选项展开显示每次提交的内容差异。
-<n>     则仅显示最近的 <n> 次提交。
--stat   仅显示简要的增改行数统计。
--pretty 可以指定使用完全不同于默认格式的方式展示历史提交。比如用 oneline 将每到个提交放在一行显示。另外还有 shor, full 和 fuller 可以用,展示的信息或多或少有些不同,请自己动手实践一下看看效果如何。

例:查看某段时刻的log

git log --until=2013-11-23  #表示查看2013年11月23日以前的log
git log --since="2 days ago" --until="10 hour ago" #就表示你希望查找两天前到十小时前的log
git log --until=1.minute.ago # 一分钟之前的所有 log
git log --since=1.day.ago #一天之内的log
git log --since=1.hour.ago #一个小时之内的 log
git log --since=1.month.ago --until=2.weeks.ago #一个月之前到半个月之前的log
git log --since=2013.08.01 --until=2013-09-07 #某个时间段的 log

Git 忽略文件


原文地址:https://www.cnblogs.com/bill-technology/p/4130895.html