(6)本地版本库的一些操作

1、git status

该命令用来查看工作区当前状态

2、git diff  filename

该命令用来查看文件做了什么修改

3、git log

该命令显示从最近到最远的提交日志,即提交历史

--pretty=oneline参数可以简化输出信息

4、版本回退

HEAD指针指向当前版本,HEAD^表示上一个版本,HEAD^^表示上上一个版本,HEAD~100表示往上100个版本。

git reset  --hard  HEAD^回退到上一个版本

git reset  --hard  3625411(版本号)可以回到指定的版本。版本号没必要写全,前几位即可,git会自动去找。

5、git relog

该命令可以查看命令历史,以便确定要回到未来的那个版本。

6、工作区

7、版本库

工作区有一个隐藏目录“.git”,既是git的版本库。其中存了很多东西,最重要的是称为stage(或index)的暂存区,还有git自动创建的第一个分支master,以及指向master的指针HEAD。

git add实际上就是把工作区的文件修改添加到暂存区

git commit就是把暂存区的所有内容提交到当前分支。

8、管理修改

git管理的是修改,而不是文件

git diff HEAD -- filename可以查看工作区和版本库里面最新版本的区别

撤销修改分几种情况:

(1)文件修改后还没有放到暂存区,git checkout --  filename  直接放弃对工作区的修改

(2)文件修改后已经添加到暂存区,但未提交到版本库,丢弃修改,分两步,第一步用命令git reset HEAD filename,将暂存区的修改撤销,重新回到工作区,就回到了场景1,第二步按场景1操作。

(3)已经提交了不合适的修改到版本库时,想要撤销本次提交,参考版本回退,不过前提是没有推送到远程库。

  • HEAD指向的版本就是当前版本,因此,Git允许我们在版本的历史之间穿梭,使用命令git reset --hard commit_id

  • 穿梭前,用git log可以查看提交历史,以便确定要回退到哪个版本。

  • 要重返未来,用git reflog查看命令历史,以便确定要回到未来的哪个版本。

9、删除文件

假如文件已经提交到版本库,执行rm  filename,就会删除工作区中的该文件,此时工作区和版本库就不一致了,git status命令会告诉你哪些文件被删除了,现在有两个选择:

(1)确认要从版本库中删除

$  git rm filename

$  git commit  -m  “remove  filename”

(2)删错了

因为版本库里还有,很容易恢复;$  git  checkout  --  filename

10、远程仓库操作

(1)创建密匙

假设用户主目录下没有.ssh文件夹,或有.ssh文件夹但其中没有id_rsah,id_rsa.pub

$  ssh-keygen  -t  rsa  -c  “你的邮件地址”

(2)建立连接(先有本地,后又远程库)

在本地工作区下运行命令:

$  git  remote  add  origin  仓库地址

将本地所有内容推送到远程库上:$ git push –u origin master(即把当前分支master推送到远程),下一次推送时可省略-u参数

(3)从远程库克隆

最好先有远程库,然后克隆到本地:

$  git  clone  远程库地址

 

 

 

 

posted on 2015-11-17 21:26  卖莲蓬的小伙  阅读(159)  评论(0)    收藏  举报

导航