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下的安装

https://www.git-scm.com/download/

设置

$ git config --global user.name "Your Name"
$ git config --global user.email "email@example.com"

 

配置版本库

1、初始化项目文件夹,生成版本库

Alt text

2、创建版本库

Git基本命令操作

Alt text
**注pwd是显示当前目录

创建新文件(复习vim命令)

Alt text
**注i是启用写模式,end退出写模式,:wq保存退出,:q退出

Alt text

告诉git添加到本地版本库

Alt text

**文件未被添加到版本库的话,是无法提交的,会提示有哪些文件需要添加到版本库

Alt text

提交文件进版本库

Alt text
**注-m是给提交的文件加上标识,commit可以一次提交多个文件

修改文件

Alt text

Alt text
**注status是查看文件状态,提示a.py被修改未提交到版本库

修改完提交

Alt text

查看日志来看自己的提交情况

Alt text
**注git log命令是从最近到最远时间显示提交,第一个即最近的一次提交

Alt text
**参数–pretty=oneline可以让打印简化

版本回退

a.py版本有两个,我想回到上个版本怎么办呢?

Alt text
**HEAD^返回上个版本,HEAD^^返回上上个版本,如果版本太多HEAD~20返回20个版本之前
版本回退之后你又想返回之后那个版本怎么办?别慌,只要你的命令窗口没关,找到第二次提交的commit id

Alt text

Alt text
又退回来了,commit id没必要写全
但是你回退之后又想再退版本怎么办?找不到commit id怎么办???
不需要

Alt text
**git 提供了 reflog来记录你的操作,从输出可以知道commit id 这样就又可以随意切版本了

工作区和版本库

Alt text
**stage是暂存区

撤销修改

有时候我们修改了文件,但是已经保存了,从版本库下上个版本???不需要,工作区我们可以撤销修改

Alt text

Alt text
成功恢复到修改之前
那么如果是添加之后未提交到版本库之前呢

Alt text
没事还有命令拯救你

Alt text
此刻虽然文件未返回但是暂存区已经没有了,再执行checkout命令就可以了

删除文件


在工作区你可能只需要rm一下就行了
那么版本库中的文件该怎么删除呢

Alt text

Alt text
**先创建命令再提交

**提交至远程库,例如github或码云,这边以码云示例

Alt text
查看下码云确实有了

Alt text

从远程库克隆到本地库

Alt text

Alt text

创建和合并分支


创建dev分支并切换至dev分支下面

Alt text

查看所有分支

Alt text

修改提交到dev分支

Alt text

master分支合并

切换到master分支下合并

Alt text

删除分支

Alt text
**注:除了master分支外的分支都可以删除

解决冲突


创建dev分支并修改a.py文件,并切至master分支

Alt text
在master对这个文件再进行修改提交,合并dev分支提示冲突

Alt text

分支管理


新建dev分支提交文件切master分支合并(请注意–no-ff参数,表示禁用Fast forward)

Alt text

Alt text
可以看到不用Fast forward模式是这样的
通常,合并分支时,如果可能,Git会用Fast forward模式,但这种模式下,删除分支后,会丢掉分支信息。
如果要强制禁用Fast forward模式,Git就会在merge时生成一个新的commit,这样,从分支历史上就可以看出分支信息

posted @ 2018-09-09 08:44  宋先生、  阅读(194)  评论(0编辑  收藏  举报