1.git的作用-存在意义
2.git的下载与安装、调试、查看
-
进入官网,下载64位的文件
-
- 官网:https://git-scm.com/download/win
- 文件:64-bit Git for Windows Setup
- 开始进行最基本的配置
- 为经常使用的指令命令配置别名(可操作可不操作-自行选择)
#用于输出git提交日志 alias git-log='git log --pretty=oneline --all --graph --abbrev-commit'
#用于输出当前目录所有文件及基本信息 alias ll='ls -al' 输完以后,打开gitBash,执行以下代码 source ~/.bashrc
- 部分人可能有乱码,解决GitBash乱码问题(可操作可不操作-自行选择)
- git config --global core.quotepath false
- 在/etc 目录下的文件(bashrc)中加入以下两行代码
- vim /etc/bash.bashrc
- export LANG="zh_CN.UTF-8"
- export LC_ALL="zh_CN.UTF-8"
- 获取本地仓库
-
- 创建一个空的目录用来作为仓库,并进入
- mkdir -p /c/Users/web/sunzhe
- cd C:/Users/web/sunzhe
- 执行命令
-
- git init
- 操作完成后检查,发现多了几个文件,说明我们成功了
- 创建一个空的目录用来作为仓库,并进入
- 可以查看日志-本地 or 远程 仓库,比如以下截图,我一共上传了2次到add ceshi,所以有两条记录,
- 对上方三个区域的解析(可跳过不看-自行选择)
-
- 工作区:我们设置git init的区域
- 缓存区:我们git add 的区域
- 仓库:我们把缓存区域的文件都提交到仓库之中
- 版本回退
-
- 使用git-log进行查看(之前设置的别名,等同于git log --pretty=oneline --all --graph --abbrev-commit,可以快捷查看)
- $ git-log
-
- * 1603023 (HEAD -> master) add ceshi
- * 1f660c3 add ceshi
- 可以看到我提交的两次记录,我们现在设置为第一次提交时候的状态
-
- 开始回退,回退后,回退后的版本就是消失
- git reset --hard 1f660c3
- 对之前的文件进行查看,同时查看日志,回退完成
- 既然、回退后的版本消失了,我们可以找回来吗?可以重新设置吗?
- 可以!知道知道ID号
- $ git reflog 用次命令查看历史的操作记录,排查得到ID,利用ID进行回退
- 开始回退,回退后,回退后的版本就是消失
3.git之 分支
- 查看已有的分支
- git branch
- 创建新的分支
- git branch dev
- 可通过git-log对比前后的变化
- 切换分支,进行查看
- git checkout dev
- git checkout -b master01 新建并切换分支
- 可以看到,HEAD 指定了 dev,说明分支已经切换了
- 删除分支(b1--分支名)
- git branch -D 分支名
- git branch -D master01
- 不做任何检查,强制删除
- ps:git branch -d master01 也可以删除分支,但是需要做各种检查,麻烦
- master (生产) 分支
- 线上分支,主分支,中小规模项目作为线上运行的应用对应的分支;
- develop(开发)分支
- 是从master创建的分支,一般作为开发部门的主要开发分支,如果没有其他并行开发不同期上线
- 要求,都可以在此版本进行开发,阶段开发完成后,需要是合并到master分支,准备上线。
- feature/xxxx分支
- 从develop创建的分支,一般是同期并行开发,但不同期上线时创建的分支,分支上的研发任务完
- 成后合并到develop分支。
- hotfifix/xxxx分支,
- 从master派生的分支,一般作为线上bug修复使用,修复完成后需要合并到master、test、
- develop分支。
- 还有一些其他分支,在此不再详述,例如test分支(用于代码测试)、pre分支(预上线分支)等等。
4.git之 仓库
- 登录gitee,创建仓库
- 配置SSH公钥
- ssh-keygen -t rsa
- 不断回车,直到正常,不用管弹出来的
- 验证是否配置成功
- ssh -T [email protected]
- 复制仓库的地址
- 初始化本地库,然后与已创建的远程库进行对接
- git remote add origin [email protected]:shuang_zi/git_test.git
- git remote add origin [email protected]:shuang_zi/sunzhe_study.git
- 删除仓库---可重新设置进行连接
- git remote rm origin
- 未报错就是成功
- 检查远程仓库
- git remote
- 成功的话会显示
- origin
- 推送到远程仓库pull
- git push [-f] [--set-upstream] [远端名称 [本地分支名][:远端分支名] ]
- 如果远程分支名和本地分支名称相同,则可以只写本地分支
- git push -u origin "master"
- 如果遇到报错如下,原因是因为本地仓库内没有东西
- error: src refspec master does not match any.
- 出现 ! [rejected] master -> master (fetch first) 报错,执行以下命令
- 一般是对之前的仓库做了改动才会有,和之前的仓库合并
- git pull --rebase origin master
- -f 表示强制覆盖
- 查看当前本地和分支的关联关系
- git branch -vv
- --set-upstream 推送到远端的同时并且建立起和远端分支的关联关系。
- git push --set-upstream origin master
- 如果当前分支已经和远端分支关联,则可以省略分支名和远端名。
- git push
- 将master分支推送到已关联的远端分支。
- 从远程仓库克隆
- 随便进入一个本地的文件夹,右键打开Git bash,进行测试
- git clone [email protected]:shuang_zi/git_test.git
- 从远程仓库抓取和拉取
- 抓取:将仓库里的更新抓取到本地,不会进行合并,没啥用,介绍一下
- git fetch [remote name] [branch name]
- 拉取:将远程仓库的修改拉到本地,自动进行合并,等同于fetch+merge
- git pull [remote name] [branch name] ,可简写,举例:
- git pull
5.git-小扩展 Vscode的简单介绍使用
- AMU代表的含义
- U代表新建的文件,现在在工作区
- 分支的切换,如下图
- 单机位于左下角的分支,中间会有弹窗,可以进行切换和创建
图二:
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。