Git入门——本地版本库操作
来源:互联网 发布:淘宝一飞老师 编辑:程序博客网 时间:2024/06/07 18:06
本篇提到的命令:小结
作为一个一直用SVN的家伙,深深地感到了自己在版本控制工具上的落伍。。。。
首先必须强调的是: Git与Github不是一回事。 Git是目前世界上最先进的分布式版本控制系统,于2005年被linux创始人Linus开发出来。而Github是一个基于Git为全球开源项目免费提供git存储的网站,众多著名开源项目都迁移至Github~ 而开源时代的来临也使得软件行业活力倍增。
作为分布式版本控制系统的Git,与传统的CVS、SVN相比优势明显。传统的集中式系统,版本库集中存放在中央服务器,各个终端必须连接至中央服务器进行操作,这导致了许多的不方便。在Git中,没有中央服务器,每个终端上都有一个完整的版本库,安全性大大提升。(在集中式系统中,一旦中央服务器挂掉还是很棘手的) 不过在使用的时候,Git中也会有台主机担任相当于“中央服务器”的角色,它用来作为主分支方便所有人交换分支并进行总体的版本控制,但它并不是必须的。 Git相对于传统集中式版本控制系统的优势还不仅仅在于安全性,其暂存区、分支等概念也带来了很多的优势。
对于Git的使用,主要有客户端与命令行两种方式,个人觉得不一定必须去追求命令行的使用,非Linux环境下已经有了很好有的图形化界面干嘛不用?~
Github客户端:https://desktop.github.com/
Sourcetree:https://www.sourcetreeapp.com/
很多IDE中也已经集成了Git,比如Visual Studio、Storm系列,Sublime中也有Git插件。 关于客户端的使用就自行摸索了~
在命令行中使用,Linux自然不用说,而在Windows下主要是使用GitBash工具。本文中的演示也是基于Windows下的Git Bash
Git Bash:http://download.csdn.net/download/xuyanlu/5545823
进入正题:
一、创建版本库并提交文件:
1、创建项目目录并使用git init命令将其变成一个Git可以管理的仓库:
如:
随后就会在该文件夹下发现隐藏属性的.git目录,Git就是使用这个目录来跟踪管理版本库的。
2、创建文件并添加到仓库
我已经在Data-Structure-in-JavaScript文件夹下创建了BinaryTree.js 将其添加到版本库的步骤如下:
共需两步: 1、git add 文件名 对需要提交的文件进行add操作,可多次进行
2、git commit [-m 提交说明] 对之前add的文件执行提交,说明不是必须选项但强烈建议养成每次提交写说明的习惯。
让我们把其它文件也加入:
为什么要分两步操作呢?在Git中有着工作区与暂存区的概念,我们的项目目录即是工作区。而在版本库中,则有暂存区与分支。add操作是将当前修改提交到暂存区,而commit操作则是将暂存区所有的修改提交至分支。
二、与版本库进行交互
1、查看当前状态:git status
此时我们修改一下BinarTree.js,则会显示出修改过的文件 使用git diff命令还能显示修改过的位置
修改过之后再次使用git add与git commit命令提交修改即可
2、版本回退
首先可以使用git log命令查看历史记录。使用该命令会显示从最近到最远的提交记录,每条记录中显示版本号、提交者、提交日期以及提交记录四项。
使用git reset --hard commit_id命令进行回退
只要本次进程没有关闭,还是可以通过同样的命令回到未来的版本。假如进程关闭之后再想回到未来版本的话,可以使用git reflog命令查看命令历史,从中获知未来版本的版本号并进行穿梭。重启Git Bash 操作如下
3、撤销修改
可以使用git checkout -- file命令撤销工作区的修改。很容易理解,检出操作会用最近一次commit或add的文件来覆盖当前修改过的文件,当前工作区的修改就等同于被撤销。这里如果已经添加到了暂存区,则会恢复暂存区的状态;如果还没添加至暂存区,则会回到版本库中的最新版本时的状态。
如果修改已经添加至暂存区,则可以使用git reset HEAD file操作,将暂存区的修改撤销,重新放回工作区。此时,便可以使用checkout命令撤销工作区的修改~
如果修改已经提交至版本库。。。 回退版本吧~
4、删除文件
删除文件的时候,我们直接在系统中删除文件。此时,git中便会显示删除的文件,此时可以使用 git rm 文件名 并提交将文件从版本库中删除;或者使用git checkout 文件名命令恢复文件。比如这里新建了remove.js文件,之后在系统中删除该文件。
总结:命令 功能 git init创建版本库git add 文件名将修改添加至暂存区git commit将暂存区的所有修改提交至版本库git status查看当前状态git log查看版本记录git reflog查看命令历史git checkout -- 文件名检出文件以撤销工作区修改git reset HEAD file撤销暂存区修改,恢复至工作区git rm 文件名删除文件
1 0
- Git入门——本地版本库操作
- git——创建本地版本库
- git pull——git库版本与本地库版本冲突总结
- git(一)-git入门,版本库初始化以及常用命令操作
- 版本管理—Git使用教程之本地仓库的基本操作
- 搭建本地版本库--git
- Git入门之本地仓库操作
- Git入门本地常见配置与操作
- git版本控制工具(二)----本地版本库的常用操作
- 入门基础——Git版本控制
- git 本地库的操作
- 版本控制系统VCS —— Git操作
- git学习和使用(一) 本地版本库的操作
- Git快速入门——Git安装、创建版本库以及常用命令
- git(8)管理本地版本库
- git(8)管理本地版本库
- git学习-本地版本库管理命令
- git 本地添加版本库流程
- 软件测试发展现状及未来
- <<深入理解Flask>>中遇到的那些坑
- 偶然发现mysql的表中字段居然不区分大小写
- git常用操作
- Android中一个app启动另一个app的指定activity
- Git入门——本地版本库操作
- docker脚本安装
- ssh免密登录设置
- 漫谈C#编程语言在游戏领域的应用
- 静态工厂方法和实例工厂方法
- Android 单元测试
- Windows下安装并设置Redis
- 98. Validate Binary Search Tree(判断合法二叉搜索树)
- Unity 单例模式