标签:分布式版本控制 raw 比较 策略 unix it教程 版本号 mit 撤销
目录
svn集中式:版本库是集中存放在中央服务器的,需要联网才能工作
git 分布式:每个人的电脑上都是一个完整的版本库
和集中式版本控制系统相比,分布式版本控制系统的安全性要高很多,因为每个人电脑里都有完整的版本库,某一个人的电脑坏掉了不要紧,随便从其他人那里复制一个就可以了。而集中式版本控制系统的中央服务器要是出了问题,所有人都没法干活了。
初始化仓库:git init
把文件添加到仓库:git add a.txt添加到暂存区(state)
把文件提交到仓库:git commit -m ‘注释信息‘
仓库状态:git status
查看修改内容:git diff
显示最近到最有远的提交日志:git log (git log --pretty=oneline)
git reset --hard HEAD^ 回退到上一版本git reset --hard HEAD^ 回退到上上版本git reset --hard HEAD~100 回退到上100个版本git reset --hard 具体版本号 回退到具体版本号记录每一次命令 :git reflog
git checkout -- readme.txt:
命令git checkout -- readme.txt意思就是,把readme.txt文件在工作区的修改全部撤销,这里有两种情况:
一种是readme.txt自修改后还没有被放到暂存区,现在,撤销修改就回到和版本库一模一样的状态;
一种是readme.txt已经添加到暂存区后,又作了修改,现在,撤销修改就回到添加到暂存区后的状态。
总之,就是让这个文件回到最近一次git commit或git add时的状态。
删除文件后,Git知道你删除了文件,因此,工作区和版本库就不一致了,git status命令会立刻告诉你哪些文件被删除了:
现在你有两个选择,一是确实要从版本库中删除该文件,那就用命令git rm filename 删掉,并且git commit
另一种情况是删错了,因为版本库里还有呢,所以可以很轻松地把误删的文件恢复到最新版本: git checkout -- filename
git config -- global user.name ‘GitHub用户名 ‘
git config --global user.email ‘注册邮箱‘
ssh-keygen -t rsa -C ‘GitHub的注册邮箱‘
git remote add origin 远程仓库地址 :关联远程仓库
git remote rm origin :删除关联
git push origin master: 推送 (第一次 加上-u 就会一直关联这个地址,就不需要再写origin master)
git pull origin master --allow-unrelated-histories:如果本地仓库和远程库有冲突,比如GitHub上有markdown文件,则加上 --allow-unrelatered..
git clone git@github.com:rottengeek/test.git:克隆远程库到本地
git branch 分支名:创建分支
git checkout 分支名:切换分支
git checkout -b 分支名 :创建与切换同时进行
git branch:列出所有分支
git merge dev:把dev分支的工作成果合并到master分支上
git branch -d 分支名 : 删除分支
在实际开发中,我们应该按照几个基本原则进行分支管理:
首先,master分支应该是非常稳定的,也就是仅用来发布新版本,平时不能在上面干活;
那在哪干活呢?干活都在dev分支上,也就是说,dev分支是不稳定的,到某个时候,比如1.0版本发布时,再把dev分支合并到master上,在master分支发布1.0版本;
你和你的小伙伴们每个人都在dev分支上干活,每个人都有自己的分支,时不时地往dev分支上合并就可以了。
所以,团队合作的分支看起来就像这样:



按大类划分,分为两种状态:Tracked(已跟踪)和Untracked(未跟踪),
依据是:该文件是否已加入版本控制?
流程简述:
假设某个项目已加入版本控制系统
创建github账号
ssh-keygen -t rsa -C "youremail@example.com"创建远程库
从远程库克隆
git clone git@github.com:账号名/项目名.git与远程库交互
git pullgit push origin master创建本地仓库
创建空目录
mkdir test7 cd test7

git init
版本库就是一个目录,这个目录里面的所有文件都可以被Git管理起来,每个文件的修改、删除,Git都能跟踪,以便任何时刻都可以追踪历史,或者在将来某个时刻可以“还原”
文件管理

工作区与暂存区
git add 文件1 文件2 ... git add 目录git checkout -- 文件名git status暂存区与仓库区
git commit -m ‘本次提交的说明信息‘当前版本的历史版本:git log
简版显示:git log --oneline --graph
历史命令:git reflog
git diff HEAD -- 文件名git reset HEAD^或版本号删除文件
rm 文件名 git rm 文件名 git commit -m ‘说明信息‘标签:分布式版本控制 raw 比较 策略 unix it教程 版本号 mit 撤销
原文地址:https://www.cnblogs.com/kolane/p/11537892.html