安装
1、打开git官网下载对应操作系统的版本,官网下载太慢的话可以使用淘宝镜像下载CNPM Binaries Mirrorhttps://registry.npmmirror.com/binary.html?path=git-for-windows/2、无脑安装,下一步即可
卸载
1、删除和git有关的环境变量
2、用控制面板或360卸载
使用
1、Git Bash : Linux风格的命令行(最常用)
2、Git CMD : Windows风格的命令行
3、Git GUI : 图形界面的Git(不推荐使用)
配置
所有的配置文件都保存在本地
1、配置用户名(必须要):git config --global user.name "xxx"
2、配置邮箱(必须要):git config --global user.email "xxx@163.com"
3、git config -l : 查看当前项目关于git的所有配置
4、git config --system --list : 查看系统帮我们配的
(和D:\Git\mingw64\etc\gitconfig内容一样)
5、git config --global --list :查看 我们自己配的(用户名和邮箱)
(和C:\用户\13607\.gitconfig内容一样)
核心
1、本地工作目录Workspace : 平时存放项目代码的地方
2、暂存区Index/Stage : 存放临时的改动,实际上是一个文件,保存即将提交到文件列表的信息
3、本地仓库Repository : 存放数据,有提交过所有版本的数据,HEAD指向最新放入仓库的版本
4、远程仓库Remote : 用于远程数据交换
最常用1和4,2和3用命令操作即可
git文件的几种状态
1、Untracked : 未被跟踪,用 git add 变为 Staged状态
2、Staged : 暂存状态,用 git commit 将修改提交到库中
3、Modified :文件仅修改但未进行其他操作,用 git add 变为 Staged状态
4、Unmodify : 文件已入库未修改
5、Commited : 已提交状态
项目搭建
法一:本地新建仓库
git init : 本地文件夹会生成一个.git文件,有此文件的文件夹,即为Git本地仓库
法二:克隆远程仓库
git clone xx : 拉取远程Git仓库里的文件
常用操作命令
1、git status : 查看所有文件状态
2、git status xx : 查看xx文件状态
3、git add . : 添加所有文件到暂存区
4、git add xx : 添加指定文件xx到暂存区
5、git commit -m "提示信息" : 提交暂存区中的内容到本地仓库
6、git reset xx : 删除暂存区的指定文件xx
7、git rm xx : 删除本地仓库的指定文件xx
8、git checkout -- xx : 误删了工作区的xx文件,从本地仓库恢复(前提是之前commit过)
9、git ls-files : 查看本地仓库的所有文件
版本回退
1、git log : 显示当前分支的版本历史(提交日志信息)
2、git log -5 --pretty=oneline:显示过去5次提交,1次1行
3、git reset --hard HEAD^:回到上一版
4、git reset --hard HEAD~x:回到上x版
5、git reset --hard xxxxxxx(版本号):回到xxxxxxx版
6、git reflog : 显示当前分支最近几次提交
本地分支
1、git branch : 查看所有分支,带星号(*)表示当前分支
2、git checkout xx : 切换到指定分支xx
3、git checkout -b xx : 新建并切换到新建分支xx
主干上有的文件分支都有,但分支上的操作不影响主干
4、git branch -d xx : 删除指定分支xx
5、git merge xx : 先切换到主干,再合并指定分支xx到主干
6、git branch -m|-M oldbranch newbranch : 重命名当前分支
本地分支操作冲突
1、不同分支对同一文件同一行进行修改,各自提交到本地库时正常,合并时产生冲突,合并失败
2、cat xxx(被修改的文件) : 查看冲突文件内容
3、解决冲突
4、重新提交到本地库
5、合并成功
本地分支与远程分支
1、git branch -a : 查看本地和远程所有分支
2、git push origin xx : 推送本地分支xx到远程仓库
3、git push origin :xx : 删除远程分支xx,但本地分支xx还保留
4、git checkout -b xx(local) origin/xx(remote) : 拉取远程指定分支并在本地创建分支
5、git fetch : 显示远程仓库的最新状态
连接远程仓库
1、git remote add origin xxxx : 本地库和远程库的绑定
2、git push -u origin "master" : 把本地内容推送到远程库主分支
3、git push -u origin xx : 把本地分支xx内容推送到远程分支xx
多人协同操作冲突
1、不同人对同一文件同一行进行修改,各自提交到本地库时正常,推送到远程库时产生冲突
2、先执行 git pull 拉取操作,保证拿到的是最新的代码
3、解决冲突
4、重新推送到远程库
忽略文件
在主目录下建立".gitignore"文件
1.空行或以井号( # )开始的行( 是注释 )将会被忽略。
2.可以使用Linux通配符。星号( * )代表任意多个字符;问号( ? )代表1个字符;方括号( [abc] )代表可选字符范围;大括号( {string1.strin...j} )代表可选的字符串等。
*.txt : 忽略所有 .txt 结尾的文件
3.名称的最前面有一个感叹号(!) , 表示例外规则,将不被忽略。
!lib.txt : 不忽略 lib.txt
4.名称的最前面是一个路径分隔符(/) , 表示要忽略的文件在此目录下,而子目录中的文件不忽略。
/temp : 往上忽略
5.名称的最后面是一个路径分隔符(/) , 表示要忽略的是此目录下该名称的子目录,而非文件(默认文件或目录都忽略)。
build/ : 往下忽略