最近项目里面在用Git提交代码,刚开始的时候对这个工具也不是很了解,业余时间抽空就学习了一下。Git是一个源代码管理工具,便于大家协同开发,在一个项目中,凡是由开发人员编写的代码都是源代码,都需要被管理起来,让源代码容易被追溯,主要记录每次变更了什么,谁主导了这次的变化,由于人为的维护比较麻烦,Linux之父当年为了维护管理Linux的源代码就开发了Git这个工具,用来记录源代码的所有变更情况。
一、git与githup的区别与联系
git是一个工具而githup是一个网站,githup是git服务提供商,提供的git服务,如下所示的关系图,git init 初始化本地仓库以后,根目录下会生成一个.git文件夹,git add/commit提交的代码只是到了本地的.git仓库中,项目中其他同事提交的代码也只是到了他自己本地的.git代码仓库中,如何实现协同开发呢?githup就应运而生,充当了远程代码仓库的角色,用于托管项目代码,大家把代码都push到远程代码仓库中,再从远程仓库中pull到本地开发,从而实现协同工作。
二、安装git及git的基本使用
(1)安装git
git官网下载https://git-scm.com/并进行安装
(2)git命令操作
- 初始化一个本地git仓库,就是在本地文件夹中添加了一个.git文件夹用于记录所有的项目变更信息
cd 当前项目目录
git init
- 查看本地仓库的变更状态,用于查看本地仓库的状态,第一次查看,显示的是一坨没有被跟踪的文件
git status
git status -s //输出简要的变更日志,即各个文件的状态,A为已经添加,M为已经修改,??表示被忽略的文件
- 添加本地暂存(托管)文件
git add
git add . //等价于git add --all
点代表当前文件夹,意思就是添加当前文件夹下的所有文件,可以将一个没有被跟踪的文件添加到跟踪列表
- 添加本地git忽略清单文件
在代码库文件夹的根目录下添加一个.gitignore文件,此文件用于说明忽略的文件有哪些,如:node-modules,.idea,README.md,/dist(斜线表示根目录下的dist文件夹),被添加到.gitignore文件的文件,在执行git add --all命令的时候就不会添加到本地仓库中
- 提交被托管文件的变化到本地仓库
git commit -m '第一次提交代码到本地仓库' //将本地的变化提交到本地的仓库文件夹归档
- 对比差异
git diff
用于对比当前状态和版本库中状态的变化,如下图所示,显示了当前更改了哪些内容
- 显示日志信息
git log
- 为仓库添加远程(服务器)地址
git remote add origin 地址
git remote //远程仓库的名字,默认为origin
git remote -v //远程仓库地址,一个为推送地址,一个为拉取地址,实际上两个地址是一样的
git pull --rebase origin master //合并代码
- 将本地仓库的提交记录推送到远程的master分支
git push -u origin master // -u 是以流的形式推送
- 拉取远程master分支的更新记录到本地
git pull origin master
- 回归到指定版本
git reset --hard <commit哈希值前六位>
- Git分支
git branch //查看分支
git branch <分支名> //创建分支
git checkout <分支名> //切换分支