目标 : 建立本地仓库,实现本地的版本管理
因为这是驱动git进行操作,所以我们在所有的指令前都要加git
第一步 : 需要设置全局的用户信息
- 用户名
- 用户邮箱是什么
在window文件夹的 : C:\Users\你的用户名
[user]
name = huaaaaizhhhhhiY
email = 931673916@qq.com
[filter "lfs"]
required = true
clean = git-lfs clean -- %f
smudge = git-lfs smudge -- %f
process = git-lfs filter-process
为什么要设置这个玩意 : 因为如果不设置的话,git会提示你 : place tell who you are !
git 命令 :
$ git config --global user.name "[name]"
$ git config --global user.email "[email address]"
以上设置只需要设置一次即可
第二部 : 建立本地仓库
git 命令 git init
在指令运行结束后,git会给你一个提示 : 我在xxx路径下给你初始化的git的仓库。
现在可以将线上的代码克隆下来
git clone url
克隆下来后,考虑一下需要进入哪一个目录进行git操作,
比如 cd weapp
切换并创建到自己的分支
git checkout -b branch_name
开始写代码。。。。
写完后
git add .
git commit -m "工作内容"
在当前分支提交
git push -u o
本地有某分支,线上没有时
git push --set-upstream origin branch_name
验证仓库是否建立: ls -a
可以查看所有文件夹,包括隐藏文件夹;
第三步 : 本地结构
- 工作区 : 你能看得见摸得着可以更改的内容都是工作区的内容;
- 暂存区 :
- 对代码进行短暂的冻结;
- 并且留下当前文件的索引;
- 表示关注所有加入暂存区文件的更改;
暂存区的一切内容都是为了放入本地仓库做准备的,并不具备存储能力
- 本地仓库
.git
目标 : 想要讲代码放入本地仓库 : 先将工作区之中所有的代码都放入暂存区, 在暂存区的指引下将代码收录到本地仓库之中。
一旦代码收录到本地仓库之中,那么本地仓库会立即生成一个唯一的版本
以指令来看
- 添加工作区内容到暂存区
git add -A
表示将工作区中所有内容添加到暂存区;
- 将暂存区控制的内容添加到本地仓库;
git commit -m "注释"
将暂存区内容添加到本地仓库之中进行版本创建同时存入本地仓库;
目标 : 删除内容并还原
- 当前版本是什么
git reflog
会返回给你所有本地项目版本 , 找到你需要的版本;
- 版本还原
git reset --hard 版本号
版本还原 ;
另外一种版本还原语法 :
git reset --hard HEAD^ 还原上一个版本
git reset --hard HEAD^^ 还原两个版本
查看工作区是否和暂存区版本相同 git status
目标 : 本地仓库推送到远程仓库
1.在本地仓库建立和远程仓库的联系(这个联系只需要建立一次,一个仓库一次)
git remote add 简写名称 仓库地址
git remote add o https://gitee.com/GP14/GP14-git.git
给当前本地仓库添加一个远程仓库链接, 在提交时方便找到对应路径;
git remote
指令查看当前简写路径有哪些。
git remote get-url 简写名称
查看当前远程仓库名称。
- 本地仓库推送到远程
git push -u 远程仓库链接简写 分支名称
git push -u o master
会提示 : [rejecte] 按照下面的流程进行pull;
- 推送之前应更新到最新版本;
如果线上的版本和本地版本不一致则表示 冲突。
git pull 仓库名称简写 master
拉取最新线上代码即可。
报错 : 不允许合并无关版本;
refusing to merge unrelated histories
- 添加允许即可
git pull origin master --allow-unrelated-histories
pull 成功之后重新push即可
- 在pull的时候可能存在问题, 会让线上的代码和本地的代码发生冲突,这时候我们需要merge;
git merge
合并
VIM 操作
当你的pull直接进入自动合并的时候,你进入了vim操作 ;
- 阅读模式;
- 插入模式;
- 指令模式;
- 阅读模式更改到插入模式;
输入法切成英文 : i
最下角会变成 –插入–
在此可以移动光标进行编辑;
- 插入模式更改到指令模式 ;
esc 会让左下角的 –插入– 消失;
输入指令 :wq
回车
保存并退出vim模式
分支
分支的意义在于:每个人都可以独立开发并测试自己的代码!
当前工作区必须全部提交! 使用 git state
指令查看是否显示 wrok tree clean
日常开发操作 :
-
创建分支 : 分支名 你的姓名-模块名称(-日期)
如果新进公司不知道当前项目分支命名 请使用git branch -a
查看远程分支。创建分支指令 :
git branch [分支名]
-
切换分支 : 去对应的分支上进行开发。
切换分支指令 :
git checkout [分支名]
git bash 命令行最右边的括号里查看你所在的分支。 -
合并分支 :
开发结束(测试无误之后),切回master分支, 进行分支合并 ;
在master分支上 输入指令
git merge [分支名]
-
删除分支 :
开发测试合并结束结束之后, 将无用分支删除;
git branch --delete [分支名]
远端VS本地
目标 : 将远端的仓库,下载到本地。
- clone 仓库打包下载 在第一拉取线上代码的时候使用clone
- fetch 远程仓库下载到本地仓库 使用 fetch 进行缓存;
- pull 远程仓库最新版本下载到本地工作区 使用pull进行最新版本获取并进行迭代开发。