一年后重新看Git,,这次应该写下来。
一.简介
是目前最先进的分布式【针对于文本内容进行相关理解,2进制内容】版本【文件快照】控制系统。
CVS和SVN来说,集中式指的是版本库是集中存放在中央服务器的。从自己的电脑从中央服务器调用到最新版本,然后修改之后再推送到中央服务器。最大的几个缺点就是必须有网才可以进行,而且很慢。
二.Git的诞生
BitMover公司威胁Linux社区,Linus花了两周时间自己用C写了一个分布式版本控制系统,这就是Git!一个月之内,Linux系统的源码已经由Git管理了!简直棒到不要。
三.安装Git
由于我使用的是 Mac Unix系统和windows,所以在这里简单的说一下Linux就好了。【最早的Git就是在Linux上开发的】
3.1.Linux安装
用Debian或Ubuntu Linux,通过一条sudo apt-get install git就可以直接完成Git的安装。
其他Linux版本,可以直接通过源码安装。先从Git官网下载源码,然后解压,依次输入:./config,make,sudo make install这几个命令安装就好了。
3.2Mac OS安装
AppStore安装Xcode,Xcode集成了Git。运行Xcode,选择菜单“Xcode”->“Preferences”,在弹出窗口中找到“Downloads”,选择“Command Line Tools”,点“Install”就可以完成安装了。
【但是这个Xocde真的有点大哈,4.52G。。】
可以在终端直接使用啦。
3.3windows安装
除了开发windows游戏胡子和IE里调试页面,一般不推荐.
从https://git-for-windows.github.io下载,安装完成后,在开始菜单里找到“Git”->“Git Bash”
安装完成后,还需要最后一步设置,在命令行输入:
$git config --global user.name"Your Name"
$git config --global user.email"email@example.com"
注意git config命令的--global参数,用了这个参数,表示你这台机器上所有的Git仓库都会使用这个配置,当然也可以对某个仓库指定不同的用户名和Email地址.
四.创建版本库
简单的来说就是一个目录,你把东西全部放进去,用Git进行管理。
首先选择一个地方建立空目录
建立一个空目录$cd learngit 建立一个learngit的目录
$pwd显示当前目录。
通过$git init把这个目录变成可以管理的仓库。
放入仓库当中了,但是是empty隐藏的,用ls -ah命令就可以看见。
只能对于纯文本的的改动。
用Notepad++编辑一个文本文件然后放到pwd显示的目录下。
$git add readme.txt【文件】
git commit告诉Git,把文件提交到仓库:
$git commit -m"write a new file"
git status可以看到仓库当前状态、
git diff可以看到和以前的修改有什么不一样。
5.版本回退
1.git log显示最近到最远的提交日志。
2.信息太多加上--pretty==oneline,前面的版本号每个人都不一样,
3.git reset 回退到上一个版本。上一个版本是HEAD^,或者HEAD~1
$git reset --hard HEAD^
4.cat 文件---可以看这个文件
5.git reflog记录每一次命令、
6.HEAD指的就是当前版本,在各个版本之间穿梭的话,git resrt --hard commit_id;
6.工作区和暂缓区
1.工作区:电脑中可以看到的文件夹。
master是git自动建立的分支,当你用commit时候是改成你自己定义的分支。
7.管理与修改
1.git diff HEAD --文件名 用来对比操作区和存档区的文件区别。
在管理和修改的时候,第一次修改可用到git add,第二次就要用git add+dit commit
8.文档撤销与修改
1.可以用git checkout --file 在工作区的修改撤销。
2.用get reset HEAD --file 把暂存区的文件撤回到工作区。
9.删除文件
1.rm file 删除一个文件。并且git commit
10.远程仓库
1.要关联一个远程库,使用命令git remote add origin git@server-name:path/repo-name.git;
关联后,使用命令git push -u origin master第一次推送master分支的所有内容;
此后,每次本地提交后,只要有必要,就可以使用命令git push origin master推送最新修改;
11.从远程克隆
1.git clone git@gitup.com:名称【克隆完成之后】
2.cd gitskills
12.分支管理
git merge 合并指定分支到当前分支。
git branch查看分支
git branch <name>创建分支
git checkout -b <name>切换分支
git branch -d<name>删除分支。
13。初始化版本库
hooks:里面有一些shell脚本,可以设置相应的git出发的脚本。在git托管之间用的比较多。
info :仓库的信息
logs:保存更新的引用地方。
refs:具体的引用。
config:git仓库的配置文件。
网友评论