1.介绍:分布式版本管理工具。
2.工作流程:
a:工作区:
写代码,代码编写完毕,将代码提交到暂存区;
b: 暂存区:
类似于过滤层,保存工作区于版本库的代码,避免错误操作;
c: 版本库:
3.git下载与安装:
安装完成,那个文件夹/文件需要被管理,只需打开此文件夹,在此文件夹里面右击打开git终端操作即可;
操作完成后;
查看git版本信息;
命令:git --version
注意:git第一次操作需要配置个人信息;
命令:git config --global user.name 名字
git config --global user。email 邮箱地址
git config --list 查看所配置的信息
查完配置信息后按 q 返回;
将工作区让git管理:
a:先初始化git:
命令:git init (必须在要操作的文件夹中进行初始化)
* git默认情况不会管理空文件夹;
*git管理文件包括所有的子文件;
初始化之后会在该文件夹自动生成一个“ .git ”文件夹,代表初始化成功,存放配置信息;
b:查看当前被git管理的项目文件的状态;
命令:git status
* 如果文件显示红色:文件在工作区没有向暂存区提交;
* 如果文件显示绿色:文件在暂存区没有向版本库提交;
c:将文件从工作区提交到暂存区:
* 提交单个文件
* 提交某个文件夹,需要在后面加 “ / ”;
提交整个工程文件到暂存区; --all 或者 git add . 中间一定加空格;
d:将暂存区的文件拉回工作区:
git reset HEAD -- 文件 拉回单个文件;“ -- ”前后都必须加空格;
拉回某个文件夹,后面加“ / ”即可;
拉回所有文件夹,git reset HEAD -- . ;拉回没有 “ -- all ”命令,注意--和 . 之间的空格;
将文件从暂存区提交到版本库;
命令:git commit -m ‘版本日志’ (版本日志必须写)
查看版本:
版本回退:
文件的比对:
文件的删除:
git管理空文件夹:
在每一个空文件夹里面放置一个 “ .gitkeep ” 文件;
如此,该文件夹将被管理;
不让git管理某个文件,某类型文件或者某个文件夹;
在git管理的目录下放置一个文件起名 “ .gitignore ” 把不需要被管理的文件的名字放在此文件里 ( ** 把自身应该也写在里面!!);
** 文件名---- 忽略文件;
** 文件/ ---- 忽略文件夹;
型号( “ * .js ”)所有的js文件;
如此,写在此文件里面的文件将不会被管理;
分支操作:
master -----主分支;(一般不进行项目的开发)
创建分支:
例如开发分支---Dev;
a:查看分支:
git branch (分支操作前一定将文件提交到版本库 git commit -m ' 版本日志');
b:创建分支;
git branch 分支名称
分支切换;
命令:git checkout 分支名称;
创建并切换分支;
命令:git checkout -b 分支名称
删除分支(注意:不能操作当前所在的分支;eg:当前在Dev分支,再次分支执行此命令是错误的,必须做切换)
合并分支;
命令:git merge 被合并的分支;
(*合并分支一定先切换到要合并的分支:
eg:要把Dev分支合并到主分支master分支上,就必须在master分支下进行操作命令!!!*)
从主分支切换到Dev分之支会出现第二个文件;切换到Dev分支后主分支任然在,但操作之后不起任何作用,因为他已经在主分支提交到了版本库,只是把工作区的文件留下了。
???如何实现Dev分支切换到主分支还能看到Dev分支的文件,我们就要用到分支合并。
首先必须切换到要做合并的分支:
然后就可以在主分支看到Dev分支的文件与操作;
远端操作(githup / gitee)
可以将本地仓库推到远端(需要远端仓库的地址:https / ssh密钥)
(注意:git终端操作不支持Ctrl+c和 Ctrl+v 操作,只能鼠标右击)
命令:git remote add origin + 远端地址; ( 连接到远端仓库)
git push -u origin + 分支名称 (需要推的分支)
本地推送成功后远端刷新;
推送多个分支;直接 git push -u origin +要推送的分支名 (都必须在主分支下操作!!!因为要把他们都push到主分支下)
如果远端仓库地址更改,就先得吧上一次缘短连接移除在建立新的连接;
命令:git remote rm origin (此命令后面不加任何信息!!)
将远端仓库拉到本地:
命令:git clone 远端地址;
只需在本地建立一个空文件夹进行接收,
***不在对此文件夹进行初始化操作;clone完毕直接 cd 文件夹 进入即可。
克隆远端仓库分支
命令: git clone -b 远端分支名称 远端此仓库的地址
远端仓库做更改,本地同步:
命令:git pull origin 分支名称
配置密钥:
命令:ssh-keygen -t rsa -C “你的邮箱地址”
cat ~/.ssh/id_rsa.pub (寻找ssh-rsa)
(clone别人的仓库,需要别人仓库的地址,如果做更改,需要别人的权限,加你为合作伙伴)
给别人仓库的权限;
在给别人仓库提交前记得提交地址的切换(git remote rm origin)
(***在每次对文件修改后都进行 git add . git commit -m ‘日志’ 此操作)
附:git常用命令:
命令行常用命令(在git bash上生效,部分在cmd无用)
-pwd (print working directory) 查看当前所在路径--绝对路径
-cd(change directory) 切换目标
-ls(list) 查看当前目录下的内容
-mkdir(make directory) 创建目录
-touch 创建文件
-cat 查看文件内容(一次性将内容全部显示)
-less 查看文件内容(显示部分信息)--再次输入‘回车’一行一行显示,‘空格’一页一页显示 ,‘b’一次向上走一页
-rm(remove) 删除文件,-rm -rf 文件夹(循环递进删除文件夹)
-rmdir(remove directory)删除文件夹(只能删除空文件夹,不常用)
-clear 清屏
-q 退出
-mv(move) 移动文件或重命名
-cp(copy) 复制文件
-echo ‘内容’ > 文件名 (输出内容到文件中,每次输入都是覆盖原来的文件)
-echo ‘内容’ >>文件名(输出内容到文件中,每次输入都是追加新内容)