Git常用操作
版本控制工具有哪些
VSS、CVS、SVN、Git等
Git介绍
Git是一款版本控制软件,支持多个版本回滚,支持多人协同操作;联合开发;不容易丢失,可远程提交到github上
安装
linux下的安装
$ git The program 'git' is currently not installed. You can install it by typing: sudo apt-get install git
windows下的安装
设置
$ git config --global user.name "Your Name" $ git config --global user.email "email@example.com"
配置版本库
1、初始化项目文件夹,生成版本库
2、创建版本库
Git基本命令操作
**注pwd是显示当前目录
创建新文件(复习vim命令)
**注i是启用写模式,end退出写模式,:wq保存退出,:q退出
告诉git添加到本地版本库
**文件未被添加到版本库的话,是无法提交的,会提示有哪些文件需要添加到版本库
提交文件进版本库
**注-m是给提交的文件加上标识,commit可以一次提交多个文件
修改文件
**注status是查看文件状态,提示a.py被修改未提交到版本库
修改完提交
查看日志来看自己的提交情况
**注git log命令是从最近到最远时间显示提交,第一个即最近的一次提交
**参数–pretty=oneline可以让打印简化
版本回退
a.py版本有两个,我想回到上个版本怎么办呢?
**HEAD^返回上个版本,HEAD^^返回上上个版本,如果版本太多HEAD~20返回20个版本之前
版本回退之后你又想返回之后那个版本怎么办?别慌,只要你的命令窗口没关,找到第二次提交的commit id
又退回来了,commit id没必要写全
但是你回退之后又想再退版本怎么办?找不到commit id怎么办???
不需要
**git 提供了 reflog来记录你的操作,从输出可以知道commit id 这样就又可以随意切版本了
工作区和版本库
**stage是暂存区
撤销修改
有时候我们修改了文件,但是已经保存了,从版本库下上个版本???不需要,工作区我们可以撤销修改
成功恢复到修改之前
那么如果是添加之后未提交到版本库之前呢
没事还有命令拯救你
此刻虽然文件未返回但是暂存区已经没有了,再执行checkout命令就可以了
删除文件
在工作区你可能只需要rm一下就行了
那么版本库中的文件该怎么删除呢
**先创建命令再提交
**提交至远程库,例如github或码云,这边以码云示例
查看下码云确实有了
从远程库克隆到本地库
创建和合并分支
创建dev分支并切换至dev分支下面
查看所有分支
修改提交到dev分支
master分支合并
切换到master分支下合并
删除分支
**注:除了master分支外的分支都可以删除
解决冲突
创建dev分支并修改a.py文件,并切至master分支
在master对这个文件再进行修改提交,合并dev分支提示冲突
分支管理
新建dev分支提交文件切master分支合并(请注意–no-ff参数,表示禁用Fast forward)
可以看到不用Fast forward模式是这样的
通常,合并分支时,如果可能,Git会用Fast forward模式,但这种模式下,删除分支后,会丢掉分支信息。
如果要强制禁用Fast forward模式,Git就会在merge时生成一个新的commit,这样,从分支历史上就可以看出分支信息
您的资助是我最大的动力!
金额随意,欢迎来赏!