您的位置:首页 > 其它

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

2015-11-17 21:26 316 查看
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 远程库地址
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: