git版本控制
git 版本控制
版本控制系统, 用于项目的存储、代码共享、代码合并、历史回退、代码追踪功能!
CVS: 2000年以前
SVN: 版本控制软件
Git: 最火
githab: 开源代码平台
-
工作目录提交到远程仓库
-
放到仓库需要三步
项目目录__
a, 工作环境中第一次使用必须先配置全局 Git;
修改或新建:使用git前自报家门
git config --global user.name
git config --global user.email
b, 创建Git仓库用来管理当前项目
Windows创建git仓库
打开项目目录>右键>click git bash
git init
output:
Initialized empty Git repository in // 提示创建成功C:/Users/Administrator/Desktop/WEB2108_1/git_study/use_git/.git 目录位置
c, 第一步放到暂存区:内存中的一个区域: 用于临时存储项目文件的修改
查看git仓库状态
git status
output:
On branch master
No commits yet
Untracked files:/ / 未被追踪的文件没有存储到暂存区
(use "git add <file>..." to include in what will be committed)
index1.html
nothing added to commit but untracked files present (use "git add" to track)
将指定文件添加到暂存区
git add 文件名称
将所有未被追踪的文件添加到暂存区
git add .
添加到暂存区后的output:
On branch master
No commits yet
Changes to be committed:
(use "git rm --cached <file>..." to unstage)
new file: index1.html 背景颜色变为绿色
d, 第二步放到Git仓库:特殊的目录,保存项目中所有的文件以及每次修改的记录
提交后形成一个版本
git commit -m "描述语言"
output:
[master (root-commit) 8a9b96a] 版本1,写了一个页面
1 file changed, 14 insertions(+)
create mode 100644 index1.html
e, 查看提交日志
git log
只能查看当前版本之前的版本,回退后只能看到之前的版本
进入阅读模式 输入q退出
output:
commit 6de79a07e69786f3b6523c67ce23ee54e3214708 (HEAD -> master) 提交的ID
Author: kyle <2244706890@qq.com> 作者
Date: Mon Sep 27 15:34:05 2021 +0800 事件
修改了index1.html 注释内容
git reflog 查看所有的提交日志
output
按照提交顺序和回退查看版本信息
提交的id
6de79a0 HEAD@{1}: reset: moving to 6de79a07e69786f3b6523c67ce23ee54e3214708
6de79a0 HEAD@{2}: reset: moving to 6de79a07e69786f3b6523c67ce23ee54e3214708
6de79a0 HEAD@{3}: reset: moving to 6de79a07e69786f3b6523c67ce23ee54e3214708
6de79a0 HEAD@{4}: commit: 修改了index1.html
e2006f6 HEAD@{5}: commit: 删除了图片
0e50fa6 HEAD@{6}: commit: 修改了index1.html
29afbe0 HEAD@{7}: commit: 这次修改了index1.html文件
9efccf4 HEAD@{8}: commit: 版本3 添加了images目录 中有俩个图片
589873f HEAD@{9}: commit: 第二个版本 背景颜色是红色
所在版本(HEAD -> master)
8a9b96a (HEAD -> master) HEAD@{10}: commit (initial): 版本1,写了一个页面
f, 版本回退
git reset --hard "6de79a07e69786f3b6523c67ce23ee54e3214708"
output:
$ git reset --hard 6de79a07e69786f3b6523c67ce23ee54e3214708
HEAD is now at 6de79a0 修改了index1.html
每次提交到暂存区后都会形成一个新版本
每次回退版本都会覆盖目录下的文件变为 对应版本的目录结构
Git
-
工作目录 用于保存项目中的文件
-
暂存区:内存中的一个区域:用于临时存储项目文件的修改
-
Git仓库:特殊的目录,保存项目中所有的文件以及每次修改的记录
git 客户端输出解析
Administrator@I91T1FM30VWNVX5 MINGW64 ~/Desktop/WEB2108_1/git_study/use_git_two (master) 如果有master标识是因为当前打开的gitbash目录是有git仓库的
$
- git status
$ git status
On branch master
Untracked files:
(use "git add <file>..." to include in what will be committed)
RESTFul.html 如果是红色的文字 说明没有进入暂存区,且没进入git仓库中
nothing added to commit but untracked files present (use "git add" to track)
$ git status
On branch master
Untracked files:
(use "git add <file>..." to include in what will be committed)
RESTFul.html 如果是绿色的文字 说明进入了暂存区,并没有提交到git仓库
nothing added to commit but untracked files present (use "git add" to track)
$ git status
On branch master
nothing to commit, working tree clean 没有被git管理的文件,同时暂存区没有文件,工作目录也没有文件
创建隐藏文件不让git系统管理
1,如果目录中有的 文件 不想让其进入暂存区
2,有些文件不需要git系统管理,可以忽略
3,使用任意的编辑器创建文件 .gitignore 把忽略的文件名称写进去
1, 创建文件名字叫.gitignore
2,将要忽略的文件路径写入.gitignore 格式为
相对路径1\n
相对路径2
要忽略的文件如:一些模块文件如node的node_modules
项目合并
1, 分支
不影响主线开发的前提下分离出来,目的为了并行开发,最后分支还需要进行合并。
默认只有一个主分支,名称为master
1,1
找到项目目录 打开git bash
执行 git init
1,2 提交主分支
在主分支下把被git所管理的文件提交到git仓库
1,3 创建分支
git branch 分支名称
查看所有分支
git branch
1,4 切换分支
git checkout 分支名称
Merge branch 'product'
# Please enter a commit message to explain why this merge is necessary,
# especially if it merges an updated upstream into a topic branch.
#
# Lines starting with '#' will be ignored, and an empty message aborts
# the commit.
~
第二次合并时 会弹出这段文字这是linux下的编辑器Vim/Vm软件
这个的意思时问你为什么这样合并?可以写,可以不写。
写了的退出命令
Esc + :wq!
不写的退出命令:
Esc + :q!
1,5 删除分支
git branch -d 分支名称 删除已合并的分支->:
git branch -D 分支名称 强制删除
!!!
a, 默认所在分支是master分支(主分支)
b, 提交主分支后才能创建子分支
c, 通常一个子分支对应一个功能模块 进入一个分支对分支下的功能进行开发
d, 团队协作下通常是一个开发人员开发一个功能模块
e, 切换分支必须保证该分支下没有被git管理的文件也即是必须放入git仓库中
f, 这些做的目的是为了方便协作管理代码
1,5 合并分支
git merge 分支名称(打算合并哪个功能写哪个)
提交到远程git仓库
- 需准备githab或gitee邮箱和密码
git push (有仓库)
1,去gitee创建一个远程仓库 创建好后拿到链接
2,git push 仓库地址 分支名称
上传时登录的密码后默认会记录下
win+r > control >用户账户>凭据管理器> windows凭据 找到githab/gitee删除就行
git clone (第一次) 把远程仓库的文件下载到本地
git clone 仓库地址
1,找到下载的位置(克隆文件地址) 右键>git bash >输入: git clone 仓库地址
git pull 拉取到本地 (第二次) 仓库存在
git pull 仓库地址 分支名称 拉取到本地(前提有仓库)

浙公网安备 33010602011771号