git的使用

1,757 阅读8分钟

vscode的git使用教程以及配置

在 git-scm.com/download 地址下载git软件

完成后设置名字和邮箱

git中电脑上的是本地仓库,下载完成后创建一个远程git仓库,我们要把本地仓库的文件推送的远程仓库上。 注册好后就可以创建远程仓库了

image.png image.png

完成后要做一些全局的配置:设置用户的名字和邮箱,这样每次提交的时候知道是哪个用户提交的

git config --global user.name 'maoguowei' 这是将名字设置成了'maoguowei'

git config --global user.email "26445522455@qq.com" 这是设置了邮箱

注意!:这里的名字和邮箱并不是注册时的名字和邮箱,是可以随意设置的

完成后可以查看设置的信息 git config --list

image.png

远程仓库建好了本地仓库怎么创建呢? 有两种方法:

在本地初始化git仓库,克隆远程仓库

在需要创建的目录下新建对应的目录
右击后点击 git Bash Here
使用 git init 初始化仓库
下面的图我在需要的位置创建了git 仓库
注意:一定要在右击git Bash Here后创建仓库,创建出来的位置是隐藏的
image.png

image.png

image.png

进入公司后的首先做些什么

git clone 仓库地址 (将公司项目克隆到本地)

cd/项目文件夹 (进入项目文件)

git branch -a (查看这个项目下的分支)

问清楚要在哪个分支下写代码(这时候是有远程分支的,我们要创建自己的分支)

git checkout -b test (创建test分支,并切换到test分支)

git checkout -b dev origin/dev (一步搞定,创建dev分支并拉取远程分支)

Git仓库的概念

使用Git时

工作区:实际开发时操作的文件夹

暂存区:暂时存储,可以临时恢复代码内容,与版本库解耦 当我现在修改的文件不想要时,需要找到原来暂存区中修改前的代码。

版本库:提交并保存暂存区的内容,产生一个版本快照

Git的两种状态

未跟踪:新文件,从未被Git管理过(未跟踪)

已跟踪:Git已经知道和管理过的文件(新添加,未修改,已修改) image.png

在新建或修改文件时在工作区编辑页面,当目前的项目功能开发完成后,使用git add '需要暂存的代码
地址'将代码放在暂存区中,若文件还需要修改还可使用git add .保存。(git add . 将当前文件夹下所有的修改的文件全部暂存)
当认为此本版无问题时,使用git commit -m '本次代码修改的数据说明' 提交到版本库,产生一次历史记录

git -v 查看 git 版本

git init 初始化 git 仓库

git add 文件标识 暂存某个文件

git add . 暂存所有文件

git commit -m '说明注释' 提交产生版本记录,每次提交,把暂存区内容快照一份

git status 查看文件状态 - 详细信息

git status -s 查看暂存区和工作区状态,第一列是暂存区状态,第二列是工作区状态

git ls-files 当前项目下暂存区里面记录了那些文件

git status -s 查看工作区和暂存区对于文件状态的标记

git restore '暂存区文件的文件标识' 从暂存区恢复到工作区

git restore . 恢复所有文件

例如---->> git restore page/login/index.css

git rm --cached page/login/index.css,当暂存区的文件不想要时,可以使对应文件在暂存区中消失

git log --oneline 查看版本号的历史记录,有了版本号才能回退

git reflog --oneline 如果已经回退了使用后才能看到完整的版本记录

根据参看到的版本号执行回退命令:

git reset --soft 版本号(其他文件未跟踪)会保留原来的文件在工作区和暂存区,这些文件变成新添加状态

git reset --hard 版本号 先对比需要还原版本的内容和暂存区内容是否一致,一致的话不操作,不一致完全覆盖原来的数据

git reset --mixed 版本号 (与 git rest一样) 覆盖暂存区,工作区保留原来的数据变成未跟踪状态

删除文件

需求:删除 editor.js 文件,并产生一次版本记录

步骤:

1.手动删除工作区文件

2.暂存变更/手动删除暂存区文件造成变更

3.提交保存

总结: 工作区只要改变,都可以暂存提交产生新记录

忽略文件

概念:.gitignore 文件可以让 git 彻底忽略跟踪指定文件目的:让 git 仓库更小更快,避免重复无意义的文件管理,使用时新建一个文件名为.gitignore的文件,需要忽略的文件或文件夹直接添加对应的名称

例如:

1.系统或软件自动生成的文件

2.编译产生的结果文件

3.运行时生成的日志文件,缓存文件,临时文件等

4.涉密文件,密码,秘钥等文件

创建:

1.项目根目录新建.gitignore 文件

2.填入相应配置来忽略指定文件

注意:如果文件已经被暂存区跟踪过,可以从暂存区移除即可

分支

概念 : 本质上是指向提交节点的可变指针,默认名字是 master,指向最后一次提交的文件

注意 : HEAD 指针影响工作区/暂存区的代码状态

场景 :

开发新需求/修复 Bug,保证主线代码随时可用,多人协同开发提高效率。

在现有代码上创建新分支完成内容列表业务。

突然需要紧急修复 Bug-单独创建分支解决 Bug。

git branch 可以看见当前有多少分支

git branch 分支名 创建分支

git branch -d 分支名 删除分支,请确保记录已经合并到别的分支下,再删除分支

git checkout 分支名 切换分支

git checkout -b 分支名 创建并立刻切换分支

git merge 分支名 把分支提交历史记录合并到当前所在分支

git reflog --oneline 查看完整历史 - 简略消息,包括提交,切换,回退等所有记录

git reset 模式名 版本号 将对应的版本恢复到内容区和工作区,

--soft 模式保留暂存区和工作区原本内容

--hard 模式不保留暂存区和工作区原本内容

--mixed 模式不保留暂存区,工作区保留(默认)先覆盖到暂存区,再用暂存区对比覆盖工作区

查看当前 git branch 仓库有那些仓库的名称(代码内容和当前Head指针指向哪一个分支有关)

分支-合并与删除

需求:把 login-bug 合并回到 master 分支并删除 login-bug 分支步骤:

1.切回到要合入的分支上:git checkout master

2.合并其他分支过来:git merge 分支名称

3.删除合并后的分支指针:git branch -d 分支名称

远程仓库

项目提交的远程仓库gitee上,

需求:创建远程版本库,并把本地 Git 仓库推送上去保存步骤:

1.注册第三方托管平台网站账号

2.新建仓库得到远程仓库 Git 地址

3.本地 Git 仓库添加远程仓库原点地址

git remote -v : 查看远程仓库地址和别名

git remote add 远程仓库别名(自己取名) 远程仓库地址 :添加远程仓库地址,别名唯一,地址是 .git 结尾的网址

例如:git remote add origin gitee.com/lidongxu/wo…

git remote remove 远程仓库别名 : 删除远程仓库地址

git pull 远程仓库别名 分支名 : 拉取远程仓库

git push -u 远程仓库别名(自己取名) 本地和远程分支名:

git push -f origian master :强制推送,这个使用会覆盖仓库内容的,慎用

拉取远程仓库并建立通道,下次可以直接git push

例如:git push -u origin master( 有的时候需要提前 git pull,还不行的化用 git pull --rebase,可以强制拉取 git pull --rebase ShengXian master)

完整写法:git push--set-upstream origin master:master

image.png 创建成功后,地址有两种方式HTTPS和SSH,一个是地址形,一个是git形。

image.png 如果远程仓库的地址错误了怎么办,

先移除远程仓库:git remote remove 远程仓库的别名 (git remote remove gitlianxi),然后在重新添加

远程仓库克隆

Git 远程仓库-克隆

克隆:拷贝一个 Git 仓库到本地,进行使用

命令:qit clone 远程仓库地址,例如:git clone gitee.com/lidongxu/wo…

效果:在运行命令所在文件夹,生成 work项目文件夹(包含版本库,并映射到暂存区和工作区)

注意1:Git 本地仓库已经建立好和远程仓库的链接

注意2:仓库公开随意克隆,推送需要身为仓库团队成员

多人协同开发过程

同事将自己的代码通过git push-u 远程仓库别名(自己取名) 本地和远程分支名发到远程仓库中(如果已经拉取了直接使用git push ),本人使用git clone 克隆仓库代码,在同事每日更新代码后使用git pull获得同事的最新代码,

可是会有合并冲突的问题,怎么解决?

先git pull 代码,有冲突的地方和写这部分代码的人沟通,去除冲突代码后, git push

uniapp的使用教程

  1. 点击菜单【工具】-->【外部命令】-->【git插件】-->【插件配置】

  2. 关于插件配置文件package.json

{
	"id":"GIT_CLONE",	//命令ID
	"name":"git clone 克隆",	//外部命令显示名称
	"command":["${programPath}", "/command:clone"],	//执行的命令,${programPath}表示检测到的可执行程序的路径
	"key":"",	//快捷键
	"showInParentMenu":false,	//是否显示在上一级菜单中
	"onDidSaveExecution": false,	//是否保存时执行
	"isBackground": true
}

备注:修改配置后,重启HBuilderX才能生效