一、Git基础概念及初始化
1.1、什么是git
Git 是一个开源的分布式版本控制系统,用于敏捷高效地处理任何或小或大的项目,Git 是 Linus Torvalds 为了帮助管理 Linux 内核开发而开发的一个开放源代码的版本控制软件。与常用的版本控制工具 CVS, Subversion 等不同,它采用了分布式版本库的方式,不必服务器端支持,使源代码的发布和交流极其方便。 Git 的速度很快,这对于诸如 Linux kernel 这样的大项目来说自然很重要。 Git 最为出色的是它的合并跟踪(merge tracing)能力。
1.2、Git 的功能特性
-
从服务器上克隆完整的 Git 仓库(包括代码和版本信息)到单机上。
-
在自己的机器上根据不同的开发目的,创建分支,修改代码。
-
在单机上自己创建的分支上提交代码。
-
在单机上合并分支。
-
把自己机器上的分支推送到服务器上(或其他开发者的机器上)。
-
从服务器上拉取代码,合并分支,创建新分支等。
1.3、安装及初始化
1)安装:
官方网站:Git
# 查看安装的版本信息 git --version
2)初始化:
打开Git Bash窗口,输入一下命令:
# 填写用户名和邮箱作为标识
git config -global user.name "用户名"
git config -global user.email "邮箱地址"
1.4、Git的存储流程
-
创建项目文件及文件夹。
-
使用
git init
命令初始化仓库。 -
使用
git add
命令将文件变化信息添加到暂存区。 -
使用
git commit
命令将暂存区的修改信息提交到版本库。
二、Git常用命令
2.1、添加文件
将文件添加到暂存区,执行这条命令只是将文件存储到暂存区,并没有将文件保存到本地仓库,注意,如果只是将文件放入这个文件中,并没有执行添加文件的命令,git仓库不会管理
# 格式:
git add 文件名
2.2、提交文件
将存放到暂存区的文件提交到本地仓库
# 格式:
git commit -m "注释内容"
2.3、查看状态
查看目录中是否还有未提交的文件,如果将文件进行修改,没有提交保存,就会显示没有提交的状态
# 格式:
git status
2.4、查看文件对比差异
将工作区的文件和暂存区的文件进行对比,显示出不同的地方
# 格式:
git diff
2.5、查看日志
查看历史记录,显示最近到最远的日志记录,注意同时提交到本地仓库中的文件生成的版本号相同
1)详细显示日志记录:
# 查看所有文件日志:
git log # 详细显示日志记录
# 查看具体文件日志
git log "文件名" # 详细显示日志记录
2)简化显示日志记录:
# 格式:
git log -pretty = oneline
3)查看历史记录,简短显示:
# 格式:
git reflog
2.6、前进与后退
回到某一个版本号
# 回到某一个版本:
git reset --hard 版本号
2.7、删除和恢复
1)删除:与Linux相同
# 格式:
rm 文件名
2)恢复:
如果将本地工作区的文件删除,但是本地仓库有记录,可以使用一下命令恢复
# 格式:
git checkout "文件名"
如果将本地工作区的删除,还将本地仓库的记录也删除,就是相当于提交一下已经删除的文件,这是可以使用版本号进行恢复
三、分支控制
3.1、创建分支
# 格式:
git branch 分支名
3.2、查看分支
# 格式:
git branch -v
3.3、切换分支
# 格式:
git checkout 分支名
3.4、合并分支
1)切换到接受合并的分支
# 格式:
git checkout 分支名
2)执行和并命令(merge或者rebase):
# 格式:
git merge 待合并的分支名
3)解决冲突:
如果不同的分支操作的是同一个文件,在合并是就会出现合并冲突的问题,现将仓库的内容进行pull下来,在本地解决后在push
3.5、删除分支
git branch -d 分支名
四、远程仓库
4.1、克隆远程仓库
将远程仓库中的文件,克隆到本地仓库
# 格式:
git clone 远程仓库地址
4.2、提交至远程仓库
将本地仓库中的文件提交到远程仓库中
# 格式:
git push 远程仓库地址 分支名
4.3、拉取文件
主要是从远程仓库中拉取本地仓库中没有的文件
# 格式:
git pull 远程仓库地址
4.4、远程仓库的别名
1)查看远程仓库的所有地址及别名
# 格式:
git remote -v
2)自定义远程仓库的别名:
# 格式:
git remote add 别名 远程仓库地址
3)删除远程别名:
# 格式:
git remote remove 别名