自学前端日记

git第九篇:版本管理工具GIit

什么是Git? 它是一款开源免费的分布式的版本控制系统,是一个应用程序

作用:代码备份、版本回退、协作开发、权限控制

下载安装 Git - Downloads

学习文档 Git - Book

-----------注意去掉这个√  避免下次在别的电脑上使用会出麻烦

Linux系统的介绍

是一款开源免费的操作系统

 常见的操作系统:windows 、Linux、Macos

交互方式:图形化界面(常用的一种方式)、命令行(程序员)

命令行操作方式:windows+R  cmd  

Linux常用的文件处理命令 :

进入git命令行:

注:想在哪个文件夹下打开git就使用上述方法 点击 Git Bash Here 

ls 查看文件夹下面的文件列表

cd 改变访问目录  cd ..  退回到上一个目录  cd /f  进入f盘   cd /e  进入E盘

clear 清空屏幕    mkdir 创建文件夹  touch 创建文件(添加后缀.css  .js   .html)  

rm  test.html  删除文件  rm test -r 删除文件夹   rm / -rf (删除所有文件慎用慎用!!!)

数据库删除命令  MySql  drop database project  Mongodb db.dropDatabase()  删库跑路 ^_^

mv 移动文件或者重命名文件 mv test/test.css  project/    mv test/test.css  project/index.css

cat 查看文件内容  cat index.css  cat index.js  cat index.html   ctrl+c  取消命令  table 路径自动补全

上下方向键  历史执行记录  省操作  

同时删除目录下的所有文件  rm ./* -rf   同时创建文件夹  mkdir js css imgs  

ls -a  显示所有文件包括隐藏文件    ls -l 显示所有文件的详细信息

【Vim/Vi】是Linux下的一款文本编辑器

vim index.css  使用   vim  要编辑的文件名  进入编辑器 

vim index.css => i + Enter =>(进入编辑)(编写完之后)=>Esc键退出编辑 =>:w =>:q

----------------------------------------------------------【Git使用】-----------------------------------------------------

起始配置:  用户名  用户邮箱  用于表示开发者的信息

git config --global user.name 'xiaozhang'

git config --global user.email "11269@163.com"

删除全局git

git config --global --unset user.name
git config --global --unset user.email

git config -l 查看配置信息 若有的话表示配置成功

--------------------------------------------------【基本操作以及语法命令】-------------------------------------------

1.创建并进入空文件夹

2.右键 =>Git Bash Here =>进入git命令行

3.git init 仓库初始化  (生成.git文件  记得将电脑的文件查看设置成可以查看隐藏问件 否则隐藏了)

4. touch index.html 创建一个初始文件  index.html 

5.git add index.html  或者 git add -A  将创建的文件存档 操作失误使用  git rm --cached index.html 

6.git commit -m "注释"   提交到仓库

git log  查看提交日志 

以上操作若出现  error  fatal  字眼 则操作失败  需重新运行命令

 对于非空目录也可以做版本控制   打开文件件  右键Git Bash Here =>进入git命令行+3...

git add -A  操作是 当前对项目所有的修改 都添加到缓存区(只要对文件修改了就需要运行该命令)

只要运行了 git add -A 命令   一般都需要运行 git commit -m "" 命令 

有时还会运行git commit 命令代替git commit -m ""  但是它进入的是vim编辑器 需要使用上述vim的命令去添加注释

.git目录的介绍

* hooks 目录包含客户端或服务端的钩子脚本,在特定操作下自动执行

* info 信息文件夹. 包含一个全局性排除文件,可以配置文件忽略

* logs 保存日志信息

* objects <span style='color:red'>目录存储所有数据内容</span>,本地的版本库存放位置

* refs 目录存储指向数据的提交对象的指针(分支)

* config 文件包含项目特有的配置选项

* description 用来显示对仓库的描述信息

* HEAD 文件指示目前被检出的分支

* index 暂存区文件,是一个二进制文件  (git ls-files)

---------------------------------------------【版本库的三个区域】---------------------------------------------------

工作区  代码编辑区

暂存区  修改待提交区   git ls-files  查看暂存区的文件

仓库区  代码保存区

git的管理方式是叠加的 若重新创建一个admin.html并提交到仓库 管理如下图所示

git status 查看仓库状态   

git status  显示红色的提示,表明此修改只存在于工作区

git status 显示的是绿色的提示,表明此修改只存在于工作区和暂存区

On branch master  -----在哪个分支---
nothing to commit, working tree clean  -----所有对文件的操作都提交了没有更新内容-----

 (use "git add <file>..." to include in what will be committed)  提示有新的内容更新需要添加暂存区

 (use "git restore --staged <file>..." to unstage)  提示仓库中有文件被修改了  如果不想要这个修改可以使用  git restore --staged 文件名来取消添加到暂存区  也可以用 git rm --cached 文件名

git restore 文件名   复原

git diff  查看工作区与暂存区的差异

git diff --cached  查看暂存区与工作区的差异

-------------------------------------------------【历史版本的回滚】---------------------------------------------

git log 查看历史提交记录

git log --oneline   简单的查看历史提交记录

git reset --hard 哈希值(前面查询记录的最前面的数字 回到某个版本

一旦回到其中的一个版本 就不能用 git log --oneline 查看所有的记录了  而是使用git reflog 查看所有历史记录

版本切换之前,要提交当前的代码状态到仓库

-------------------------------------------------【git忽略文件的介绍】-----------------------------------------------

.gitignore  需要手动创建并配置的忽略文件

临时文件、多媒体文件(音频,视频)、编辑器生成的配置文件(.idea)、node_module(npp包)

.gitignore文件的配置

#忽略所有的  .idea文件

.idea

#忽略所有以.txt结尾的文件

.txt

#忽略所有npm包

/node_modules

忽略指定后缀的文件

*.img

--------------------------------------------------------【git分支的介绍】------------------------------------------------

分支是git重要的特性之一,开发人员可以在主开发线的基础上分离出新的开发线  branch

基本操作:name(分支的名字)

创建分支 git branch name 

查看所有分支 git branch

切换分支 git checkout name

创建分支并切换  git checkout -b name

删除分支 git branch -d name

合并分支 git merge name  开发一般先在次分支上编写代码 完成后 然后由主分支去合并次分支  说白了就是将次分支分支的内容合并到主分支上 这样可以多人开发 每个团队都可以创建一个次分支  比如(主分支为master)而各团队分支为  team1 team2  team3 ... 而各团队的分支也可以看做开发人员的主分支 从而各个开发人员可以也可以再创建分支作为自己开发的分支  编写完后自己的代码 有团队leader合并到到团队分支上  团队分支完成后  由主分支master 去合并 team1 team2 ... 这样在开发过程中完全不影响主分支  而且可以很好的实现多人快速开发

恢复误删出的分支

git reflog

git branch 分支名  哈希值(commit过的分支)

冲突:(master | MERGING)当多个分支操作同一个文件后,合并分支的时候就会产生冲突,冲突的解决非常简单。将内容修改为最终想要的结果即可,然后执行 git add -A   git commit -m ''就可以了

1.git status 定位有冲突的文件

2.修改冲突文件的内容 为最终正确的样子 (沟通协作)

3.git add -A       git commit -m ''注释"

-----------------------------------------------------------------【GitHub】------------------------------------------------

介绍:是一个Git仓库管理网站,可以创建远端存储代码的仓库,为多人合作开发提供便利

使用流程:

一、当本地有仓库的时候

1.注册并激活账号

2.创建仓库

3.获取仓库的地址

4.本地配置远程仓库的地址

查询远端仓库  git remote

配置远端仓库   git remote add origin 仓库地址   添加一个远端仓库  地址为仓库地址 别名叫origin 

origin 默认设置的远端仓库的别名  也可以自行命名  作为远端仓库地址的一个标签

git branch -M main 将本地仓库的主分支master改名为main  也可以不用修改

git push -u origin main   将主分支main的代码推送到GitHub远端仓库(第一次推送的时候)

下一次本地编写该分支完成之后推送代码  直接  输入   git push 即可

二、当本地没有仓库的时候

1.注册并激活账号

2.克隆仓库  git clone 仓库地址 文件名(可写可不写)

3.增加和修改代码

4.本地提交 git add -A      git commit -m '注释'

5.推送到远端 git push  当我们有权限的时候可以推送  没权限是不能推送的

三、多人协作

创建组织

 

 

 然后给组员设置编写权限

 创建完成之后就可以使用组织来创建组织仓库了

 

 

 

 组织仓库创建完成就可以协作开发项目了

项目的初始化一般由团队的leader创建  简单得演示一下

 然后推送初始化的代码到组织仓库 由组织成员去组织仓库拉去代码

 

 

组织项目代码提交成功之后  组员就可以自行拉去代码了

 注意鼠标点击文件进入到项目中对项目进行操作     命令行也一样需要进入到项目中 cd 文件名

开发者在拉取的代码基础上 新建一个 index2.html  并推送到组织仓库(这里需要有权限才能推送的)

 

 项目发起者leader的本地仓库是没有开发者新建的那个index02.html文件的

 如果leader需要最新的文件 需要使用 git pull更新文件内容

同理当leader操作了自己的本地仓库 上传远端仓库之后  developer操作完自己的代码之后第一次想提交远端是提交不成功的,这时需要使用git pull拉取更新自己的代码  才能提交 其实就是相互约束的功能 避免任意一方破坏远端仓库的内容

注意:仓库中不允许套仓库

GitHub 不是唯一的中心仓库平台 

码云也可以作为中心仓库(Gitee)

内部搭建的 Git 服务(GitLab)

克隆与更新 

git clone  会将远端仓库所的分支全部下载下来

git pull 只会拉取指定分支的内容(本地仓库还没有的内容)

--------------------------------------------------------【码云的介绍】Gitee------------------------------------------

 操作方式与GitHub相同   不同点是在成员对代码的的权限设置需要先创建仓库 再邀请成员才能有写入权限(具有push代码到仓库的权限)

Git常用命令:

git init     git add  -A     git commit -m ""     

git branch

git branch name    git checkout -b name   git checkout -D name

git remote 

        add 别名 仓库地址

        rm 别名  

        rename 

git push

git push -u origin(远端仓库地址的别名) master(本地仓库的分支名)

git push dev(远端仓库的别名也可以修改) master

git push dev master:main (本地的master分支推送到远端另一个分支)

git pull

git ckone

忽略文件

.gitignore(项目的根目录下面)

冲突解决   多人协作  分支合并

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值