GIT版本控制入门(一)
2015-08-25 20:01
309 查看
*之前要在某某网学习git版本控制,看的视频,看了一节就要收费了。
参考自:justinjing的专栏
https://git-for-windows.github.io
安装模拟环境和Git——msysgit
安装完成后,在开始菜单里找到“Git”->“Git Bash,验证是否安装成功
安装完成后设置:
$cd learngit //进入目录
$ pwd
/d/learngit //显示当前目录
*初始化,把目录变成git可管理的仓库
@ $ git init
Initialized empty Git repository in D:/learngit/.git/
.git 目录是git用来跟踪管理版本库的
*把文件添加到版本库
所有的版本控制系统,其实只能跟踪文本文件的改动,比如TXT文件,网页,所有的程序代码等等,Git也不例外。年版本控制可告诉你每次的改动,例如知道文件第5行,增加了一个var
b=['2,''b']。但图片、视频等二进制文件的修改不能知道具体改了什么,没法跟踪文件的变化。只能把二进制文件每次改动串起来,也就是只知道图片从100KB改成了120KB。
——编写一个TXT文件readme.txt
git is a verson system
git is a free software
@$ git add readme.txt//文件添加到git,可一次add
两个文件
@ $ git commit -m "add a
new file" //可一次提交两个文件
我没有填 message!!
lenovo@lenovo-PC MINGW64 /d/learngit (master)
$ git status
On branch master
Changes not staged for commit:
(use "git add <file>..." to update what will be committed)
use "git checkout -- <file>..." to discard changes in working directory)
modified: readme.txt
no changes added to commit (use "git add" and/or "git commit -a")
上诉内容说:文件已改动。没有准备提交的改动。
查看修改内容——$ git diff
提交修改——$ git add
再次查看文件是否被修改——$ git status
Changes to be committed:
提交——$ git commit -m "add distributed control"
工作目录是干净的。
可以试试加—— --pretty=online 参数:然而我的并不管用
版本回退——$ git reset --hard HEAD^ (回退到上两版HEAD^^,100版HAED~100)
读取内容——$ cat readme.txt
查看版本号——$ git reflog
版本回退——$ git reset --hard ae89953
先引入几个名词:工作区(Working
Directory)
版本库(Repository)————
.git
版本库里包含了:暂存区(stage)、.git自动创建的master、还有指向master的指针HEAD
第一步是用 git add 把文件添加进去,实际上就是把文件修改添加到暂存区;
第二步是用 git commit提交更改,实际上就是把暂存区的所有内容提交到当前分支。
为什么学习版本控制?
简单来说就是:每个人负责项目的一部分,最终所有部分被整合到一起形成最终产品。或是当代码出现问题时,把版本恢复到正常版本。参考自:justinjing的专栏
本次学习通过(http://www.liaoxuefeng.com/)
CVS、SVN、git。免费开源版本控制。
1、Windows开发工具准备
虽然说Windows是最烂的平台,但电脑目前还是Windows的。https://git-for-windows.github.io
安装模拟环境和Git——msysgit
安装完成后,在开始菜单里找到“Git”->“Git Bash,验证是否安装成功
安装完成后设置:
2、创建版本库
$ mkdir learngit //创建目录$cd learngit //进入目录
$ pwd
/d/learngit //显示当前目录
*初始化,把目录变成git可管理的仓库
@ $ git init
Initialized empty Git repository in D:/learngit/.git/
.git 目录是git用来跟踪管理版本库的
*把文件添加到版本库
所有的版本控制系统,其实只能跟踪文本文件的改动,比如TXT文件,网页,所有的程序代码等等,Git也不例外。年版本控制可告诉你每次的改动,例如知道文件第5行,增加了一个var
b=['2,''b']。但图片、视频等二进制文件的修改不能知道具体改了什么,没法跟踪文件的变化。只能把二进制文件每次改动串起来,也就是只知道图片从100KB改成了120KB。
——编写一个TXT文件readme.txt
git is a verson system
git is a free software
@$ git add readme.txt//文件添加到git,可一次add
两个文件
@ $ git commit -m "add a
new file" //可一次提交两个文件
我没有填 message!!
3、git status
修改readme.txt文件——>$ git statuslenovo@lenovo-PC MINGW64 /d/learngit (master)
$ git status
On branch master
Changes not staged for commit:
(use "git add <file>..." to update what will be committed)
use "git checkout -- <file>..." to discard changes in working directory)
modified: readme.txt
no changes added to commit (use "git add" and/or "git commit -a")
上诉内容说:文件已改动。没有准备提交的改动。
查看修改内容——$ git diff
提交修改——$ git add
再次查看文件是否被修改——$ git status
Changes to be committed:
提交——$ git commit -m "add distributed control"
工作目录是干净的。
4、版本回退
历史提交记录——$ git log可以试试加—— --pretty=online 参数:然而我的并不管用
版本回退——$ git reset --hard HEAD^ (回退到上两版HEAD^^,100版HAED~100)
读取内容——$ cat readme.txt
查看版本号——$ git reflog
版本回退——$ git reset --hard ae89953
5、工作区和暂存区
Git和其他版本控制系统如SVN的一个不同之处就是有暂存区的概念。先引入几个名词:工作区(Working
Directory)
版本库(Repository)————
.git
版本库里包含了:暂存区(stage)、.git自动创建的master、还有指向master的指针HEAD
第一步是用 git add 把文件添加进去,实际上就是把文件修改添加到暂存区;
第二步是用 git commit提交更改,实际上就是把暂存区的所有内容提交到当前分支。
相关文章推荐
- Js操作Select
- android中使用Http下载文件并保存到本地SD卡
- [POJ2752]Seek the Name, Seek the Fame
- Java中的HashSet和TreeSet
- Android进程间通信(IPC)之实现细节篇(一) Binder驱动
- 超大型 LED 显示屏
- table 通过 append 动态追加的 tr,点击事件与修改样式
- findContours函数
- BZOJ1052
- Linux系统信号管理相关操作函数
- 安装Xcode主题
- c# 面相对象2-之封装性
- Matlab搜索文件夹(包含子文件夹)下文本,提取文本并存储
- 为什么会有作弊,会有为自己的家人安排工作?
- Sumdiv(数论综合模板题:快速分解因式+快速幂取模+约数和公式+递归二分求等比数列和)
- LeetCode-Decode Ways
- Android与SQLite——实现简单登录
- 磁盘管理的几个常用命令
- KVO 和 UIAlertViewController
- MySQL 幻读