二、Git基本操作

来源:互联网 发布:网络用语骂人 编辑:程序博客网 时间:2024/05/13 11:22

Git基本操作与常用命令

git init 在目录中创建新的 Git仓库

git add 将该文件添加到缓存

git commit将缓存区内容添加到仓库中。

git status 查看项目的当前状态。

git diff 显示已写入缓存与已修改但尚未写入缓存的改动的区别。

git reset HEAD 命令用于取消已缓存的内容。

git checkout – file丢弃工作区的修改

git rm将文件从缓存区和你的硬盘中(工作目录)删除

git mv重命名磁盘上的文件

 

 

创建版本库

创建版本库之前首先要有一个工作区,工作区即为电脑中所能看到的目录。工作区有一个隐藏目录.git,这个不算工作区,是Git的版本库。里面有暂存区,还有Git为我们自动创建的第一个分支master,以及指向master的一个指针叫HEAD

一:选择一个合适的地方,创建一个空目录(方法与linux相同)

$ mkdir learngit
$ cd learngit

二:初始化一个Git仓库,使用git init命令。

三:添加文件到Git仓库,分两步:

第一步,使用命令git add <file>,注意,可反复多次使用,添加多个文件;实际是把修改的文件添加到暂存区

第二步,使用命令git commit,把文件提交到仓库,即当前分支,完成。

git commit –a (提交所有本地修改)

git commit –m “deleted 1 line” (对提交的修改进行描述)

切记在提交时前要git add开始跟踪文件,否则不能commit成功,因为每次修改如果不add到暂存区,那就不会加入到commit中。

 

月光宝盒穿梭

一、查看当前工作区状态,有没有进行修改git status

可以加入参数git status –s查看简短信息

如果在克隆仓库之后立即执行此命令,会看到类似这样的输出:



这说明你现在的工作目录相当干净。换句话说,所有已跟踪文件在上次提交后都未被更改过。此外,上面的信息还表明,当前目录下没有出现任何处于未跟踪的新文件,否则 Git会在这里列出来。 master这是默认的分支名称

二、  如果git status显示文件被修改过,查看修改内容git diff

·尚未缓存的改动:git diff

·查看已缓存的改动: git diff --cached

·查看已缓存的与未缓存的所有改动:git diff HEAD

·显示摘要而非整个 diffgit diff --stat

修改与提交新文件步骤是一样的,git add --->git commit

、查看提交历史,以确定要回退到哪个版本git log

也可以通过添加参数来查看简洁的日志信息git log-–pretty=oneline



五、历史与未来穿梭

gitHEAD表示当前版本,上一个版本就是HEAD^,上上一个版本就是HEAD^^,当然往上100个版本写100^比较容易数不过来,所以写成HEAD~100。例如现在有123三个版本,3是最新的。

要从3回退到上一个版本2git reset--hard HEAD^

2再回到之后的版本3git reset –hard*****(3commit ID号前几位便可)



如果不记得3版本的ID号可以通过git reflog查看命令历史,或者通过git log查看,找到其ID

六、撤销修改;

1)丢弃工作区的修改git checkout – file

一种是readme.txt自修改后还没有被放到暂存区,现在,撤销修改就回到和版本库一模一样的状态;

一种是readme.txt已经添加到暂存区后,又作了修改,现在,撤销修改就回到添加到暂存区后的状态。

总之,就是让这个文件回到最近一次git commitgit add时的状态。

2)已经git add但没有commit,即已经放入暂存区。

撤销掉暂存区的修改,重新放回工作区:git resetHEAD file然后再执行上一步。



七、删除文件;

     1rm file或者直接手动在文件管理器中删除

     2)从版本库中删除该文件git rm file然后git commit



git rm file 会将文件从缓存区和你的硬盘中(工作目录)删除。

如果你要在工作目录中留着该文件,可以使用 git rm --cached

     3)删错,但版本库里有,把误删文件恢复到最新版本git checkout –file

    (4git mv命令做得所有事情就是 git rm--cached 命令的操作, 重命名磁盘上的文件,然后再执行 git add 把新文件添加到缓存区。

$ git mv README README.md

$ ls

README.md


本文是学习期间做的整理笔记,还有很多不完善之处,如果有发现错误或表达不妥之处希望各位童鞋能多给提建议。本文大多是借鉴廖雪峰的文章,还有网上比较流行的git教程,想深入学习的小伙伴可以去他们的官网进行学习大笑

(1)廖雪峰Git教程

(2)Git菜鸟教程

(3)官方中文手册



0 0