Git是目前世界上最先进的分布式版本控制系统
CVS作为最早的开源而且免费的集中式版本控制系统,直到现在还有不少人在用。由于CVS自身设计的问题,会造成提交文件不完整,版本库莫名其妙损坏的情况。同样是开源而且免费的SVN修正了CVS的一些稳定性问题,是目前用得最多的集中式版本库控制系统。
git是分为三部分,一部分是你自己的文件,另外一个是缓存区,最后一个是本地库。当你修改了自己的文件后,你会git add xx将修改保存到缓存区,然后再用commit推送修改到本地库中
git push 将本地仓库修改推送到服务器上的仓库中
commit 将本地修改保存到本地仓库中
版本库又名仓库,repository,简单理解成一个目录
mkdir 创建目录,通过git init 明亮把这个目录变成Git可以管理的仓库,当前目录下多了一个.git的目录,此目录默认是隐藏的,用ls -ah命令可以看见
编写一个readme.txt文件,放到git仓库步骤:
1、git add readme.txt 用命令git add 告诉git把文件添加到仓库,暂存区
2、git commit -m “wrote a readme file” 用命令git commit 告诉git 把文件提交到仓库,把暂存区的所有内容提交到当前分支
git status命令可以让我们时刻掌握仓库当前的状态
git diff readme.txt git diff就是查看difference,显示的格式是unix通用的diff格式
提交修改步骤:
1、git add readme.txt
git status
2、git commit -m ‘add distributed'
git status
(git add . 把要提交的内容添加到commit列表 git commit -m “注释” 提交代码到本地仓库 git push 提交到远程仓库) ((master) git merge yamin merge那个远程分支就把那个远程分支合到master)
每当你觉得文件修改到一定程度的时候,就可以“保存一个快照”,这个快照在Git中被称为commit
。一旦你把文件改乱了,或者误删了文件,还可以从最近的一个commit
恢复,然后继续工作,而不是把几个月的工作成果全部丢失。
git log命令查看历史记录 git log -- pretty=oneline
git中用HEAD表示当前版本,上一个版本是HEAD^,上上一个版本就是HEAD^^,HEAD~100
git reset --hard HEAD^ 回退到上一个版本
cat readme.txt git log
git reset - - hard (append gpl的commit id)
git reflog用来记录每一次命令
-
HEAD
指向的版本就是当前版本,因此,Git允许我们在版本的历史之间穿梭,使用命令git reset --hard commit_id
。 -
穿梭前,用
git log
可以查看提交历史,以便确定要回退到哪个版本。 -
要重返未来,用
git reflog
查看命令历史,以便确定要回到未来的哪个版本。
git add . git commit -m "add test" git push origin yamin git checkout master (master)git merge origin yamin git add .
git commit -m “add case" git status git push origin master
git diff testsulite/ git add . git commit -m “add” git push origin chun git push origin chun:master
git pull origin master