(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 远程库地址
该命令用来查看工作区当前状态
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 远程库地址
相关文章推荐
- Java创建字符串是用“”还是用构造器?
- NDK开发环境搭建
- 浴火重生的Firebird
- Ethernet IP Core介绍
- 单例实现代码(懒汉式)
- html5 原生表单验证+ajax 提交
- CodeForces 260B Ancient Prophesy 模拟
- HDU 5456 Matches Puzzle Game [数位DP]
- delphi 窗体自适应屏幕分辨率
- 全民营销的新玩法
- sql基础查询语句
- 图的幂律度分布 power-law degree distributios
- poj Sumsets 2549 (二分+转换)
- cocos2d-x 3.8.1的骨骼动画加载方法addArmatureFileInfo仍然存在问题
- cocos2d-x 3.8.1的骨骼动画加载方法addArmatureFileInfo仍然存在问题
- 使用百度地图API,定位并显示自己的位置
- 哈夫曼树的创建以及编码
- Leetcode159: Fraction to Recurring Decimal
- php面试
- 从零开始Android