目录
什么是git?
安装git
创建版本库
工作区和版本库、
向版本库中添加文件
版本回退
远程操作
什么是git?
Git 是一个开源的分布式版本控制系统,用于敏捷高效地处理任何或小或大的项目。
linux是一个开源软件,第一版本,第二版本不同怎么控制?
Git 与常用的版本控制工具 SVN, Subversion 等不同,它采用了分布式版本库的
方式,不必服务器端软件支持。
SVM就相当于分布式中讲的单点,但分布式版本控制系统没有“中央服务器”,每个人的电脑上都是一个完整的版本库,这样,你工作的时候,就不需要联网了,因为版本库就在你自己的电脑上。既然每个人电脑上都有一个完整的版本库,那多个人如何协作呢?比方说你在自己电脑上改了文件A,你的同事也在他的电脑上改了文件A,这时,你们俩之间只需把各自的修改推送给对方,就可以互相看到对方的修改了。他们的代码,资源都相同,就是三个相同的副本。
安装git
1.用git命令查看是否已安装
git --vertion
2.安装
sudo yum install git//centos
sudo apt-get intall git//ubuntu
3 进行配置,指定使用git的账号和用户名
git config --global user.name "Your name"
git config --global user.email "Your email“
创建版本库
版本库又称仓库,仓库中存放被git管理的文件,每个文件的修改、 删除,git都能够跟踪,可以方便追踪历史。
创建仓库方法:
创建成功,多了.git目录,用来跟踪管理版本库的,不能删除!
工作区和版本库、
工作区指工作目录,而工作区有一个隐藏目录.git,这个不算工作区,而是Git的版
本库,该文件夹就是用于管理当前目录中所有文件的改动的。
Git的版本库里存了很多东西,其中最重要的就是称为stage(或者叫index)的暂存
区,还有Git为我们自动创建的第一个分支master,以及指向master的一个指针叫
HEAD。
第一步是用git add把文件添加进去,实际上就是把文件修改添加到暂存区;
第二步是用git commit提交更改,实际上就是把暂存区的所有内容提交到当前分支。
向版本库中添加文件
git add filename
git add --all .//添加所有文件
工作区中的文件是可以被追踪的,但是只有告诉git哪些文件需要追踪,它才会显式的去追踪
该文件,否则git永远会在你提交的时候告诉你工作区还用哪些文件处于Untracked状态
。
而a
dd命令就是用来显式告诉git哪些文件从此时开始追踪。
git commit
命令保存某个文件的修改,记录下该文件当前快照。然后用
commit命令向分支上提交
,
位于分支上的每个点都是一次commit留下的。当然回滚的时候也是根据需要回滚到指定的点
上。
例:
前提:在刚创建的repo_git目录(或子目录)下建立文件,如 “zn.txt”,添加内容
步骤: git add README.txt # 没有输出
git commit –m “A description for the…”
git status #查看状态
版本回退
前提: 后续开发需要修改之前的文件,如zn.txt, 想退回之前的版本
status命令是用来查看当前工作区状态的
,也就是说它会把
当前工作区的所有文件状态
和
本
地分支上最近一次的提交
进行比较,并列出所有做出的修改条目。
git status
diff命令也是用来查看当前状态的,只是它不同于status,它比较的是
工作区
和
暂存区
之间
的区别。
git diff
查看历史提交信息
git log
reset命令能够实现回退历史版本。
git reset
git reset –-hard HEAD^ # 退回后新的不存在了,若git log还存在可用版本号回退git reset –-hard 版本号(来自git log)git reflog # 记录每一次更改,可找到最新版本
再去看zn.txt里面的内容的时候,就是上次的了,因为回退了
reflog 记录每一次修改
撤销修改(删除)1. git checkout -- filename ,回到最近一次git commit或git add时的状态。若未放到暂存区,回到和版本库一样的状态若放到暂存区,则回到添加到暂存区后的状态2. git reset HEAD filename:撤销暂存区中的内容(git add)3. git rm filename:删除提交到版本库中的文件 (错删,则git checkout -- filename从版本库恢复)
远程操作
前提:已经在本地创建了一个Git仓库后,又想在GitHub创建一个Git仓库,并且让
这两个仓库进行远程同步,这样,GitHub上的仓库既可以作为备份,又可以让其
他人通过该仓库来协作
步骤:登录github(gitee),创建和项目同名repository例如:git remote add origin git@github.com:Coder-Peng/repo_git.gitgit push -u origin master #第一次提交本地库
持续更新