一般的版本控制分为两类:集中式、分布式。
集中式主要常用软件:SVN、CVS。
分布式主要常用软件:Git、BitKeeper、Mercurial、Bazzar。
工作区:本地电脑中可视目录
版本库:工作区的隐藏目录(.git)
包含:
1、stage(index)——暂存区
2、HEAD——指向master的指针
3、master——Git自动创建的第一个分支
Git部分操作指令:
git config –global user.name ” ” —— 设置本地账号
git config –global user.email
mkdir learngit —— 创建名为learngit的目录
cd learngit —— 进入learngit目录
pwd —— 显示当前目录
git init —— 将此目录变为Git可管理的仓库
ls -ah —— 显示当前目录下文件(包括隐藏文件)
git add readme.txt —— 将readme.txt文件添加到仓库(提交修改步骤相同)
git commit -m “wrote a readme file” —— 将文件提交至仓库
-m —— 本次提交的说明
注:可多次add不同文件,一次commit多个文件
git status —— 查看仓库当前状态
git diff —— 查看仓库当前修改内容
git log —— 显示从最近到最远的提交日志
git log –pretty = online —— 显示commit id + 说明
HEAD —— 当前版本
HEAD^ —— 上一个版本
HEAD^^ —— 上上一个版本
HEAD~100 —— 往上100个版本
git reset —— 回退版本
get reset –hard 3628164 —— 回退到版本号为3628164开端的版本
get reset –hard HEAD^ —— 回退到上一个版本
cat readme.txt —— 查看名为readme.txt的文件内容
git reflog —— 显示记录的每一个命令
q —— 查看过程中退出
git add —— 将文件修改添加至暂存区(添加文件)
git commit —— 将暂存区的所有内容提交至当前分支(提交更改)
git diff —— 比较本地库和暂存区(或已提仓库)【未测】
git diff –cached —— 比较暂存区和已提仓库
git diff HEAD –readme.txt —— 比较版本库和工作区的区别
git checkout –readme.txt —— 丢弃readme.txt文件在工作区的全部修改(文件回到最近一次git commit或git add时的状态)
git reset HEAD readme.txt —— 回退版本,将暂存区的修改撤销掉,重新放回工作区
rm test.txt —— 删除本地工作区文件
git rm test.txt —— 删除版本库中test.txt文件
git push origin master —— 提交本地修改内容
git push -u origin master —— 提交本地库内容至远程库,将本地master分支和远程库分支关联
?git push origin master -f —— 本地分支强行覆盖远程分支
git remote add origin git@server-name:path/repo-name .git —— 关联远程库
git clone git@servername:path/repo-name.git —— 克隆一个本地库
git checkout -b dev —— 创建并切换至dev分支
git branch dev —— 创建dev分支
git checkout dev —— 切换至dev分支
git branch —— 查看当前分支
git merge dev —— 合并dev分支至当前分支
git branck -d dev —— 删除dev分支