git 的安装、使用和vscode的基本调试
作者:互联网
1.git的作用-存在意义
- 开发中的实际场景-不可盲目学习
- 备份
- 代码还原
- 协同开发
- 追溯问题代码的编写人和编写时间
2.git的下载与安装、调试、查看
-
进入官网,下载64位的文件
-
- 官网:https://git-scm.com/download/win
- 文件:64-bit Git for Windows Setup
- 开始进行最基本的配置
-
- 设置用户的信息(用户名)和用户的邮箱
- git config --global user.name “sunxxxxxx”
- git config --global user.email "2978xxxxx@qq.com"
- 设置用户的信息(用户名)和用户的邮箱
-
- 查看刚刚已经配置的信息(用户名和邮箱)
- git config --global user.name
- git config --global user.email
- 查看刚刚已经配置的信息(用户名和邮箱)
- 为经常使用的指令命令配置别名(可操作可不操作-自行选择)
-
- 先进入目录(linux 的常用命令)
- cd C:/Users/web
- 创建.bashrc 文件 -- 注意有个‘点’
-
- touch ~/.bashrc
- 在文件中输入以下的内容
- 先进入目录(linux 的常用命令)
#用于输出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
- 操作完成后检查,发现多了几个文件,说明我们成功了
- 创建一个空的目录用来作为仓库,并进入
- 创建文件进行上传本地仓库测试
-
- 创建一个txt文件
- touch ceshi1.txt
- 查看当前缓存的状态
-
- git status
- 会发现,你的文件名是红色的,找个翻译软件翻译一下,意思就是未跟踪的文件,那么,我们就要加入缓存区
- 加入缓存区
-
- git add .
- 注意 add后面有一个英文状态下的 ‘点’ ,用来表示全部上传,你也可以把 点 —> 替换为 文件名,也就是 1.txt
- 附上一张上传成功的截图
- 创建一个txt文件
-
- 缓存区的文件家加入工作区
- git commit -m 'add ceshi'
- 引号内的名字可以随便命名
- 我们查看以下缓存取得状态,可以发现,缓存区域的文件全部加入到了add ceshi 之中
- 缓存区的文件家加入工作区
- 可以查看日志-本地 or 远程 仓库,比如以下截图,我一共上传了2次到add ceshi,所以有两条记录,
- git log
- --all 显示所有分支
- git log --pretty=oneline 信息一行显示
- --abbrev-commit 输出的commitld 更简短
- --graph 以图的形式显示
- 对上方三个区域的解析(可跳过不看-自行选择)
-
- 工作区:我们设置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进行回退
- 开始回退,回退后,回退后的版本就是消失
- 文件添加至忽略列表
-
- 我们在开发中,一个工作区域有很多的文件,但是,我只是存放在工作区域,并不希望git进行管理,那么应该怎么做呢?
- 创建一个名为 .gitignore
-
- touch .gitignore
- 设置需要忽略的文件,比如我有两个文件 ceshi1.txt ceshi1.a 文件
- 屏蔽“ .a ”结尾的文件
- 修改文件 .gitignore
- vim .gitignore
- *.a 设置所有 .a 为后缀的忽略
- 如果是单个文件,则直接写文件名就可以 ceshi10.txt 直接写
3.git之 分支
- 查看已有的分支
- git branch
- 创建新的分支
- git branch dev
- 可通过git-log对比前后的变化
- 切换分支,进行查看
- git checkout dev
- git checkout -b master01 新建并切换分支
- 可以看到,HEAD 指定了 dev,说明分支已经切换了
- 分支合并
- git merge 分支名称
- git merge dev
- 说明,我们一般都是创建一个分支,弄好后在合并到主分支master上收是上
- 删除分支(b1--分支名)
- git branch -D 分支名
- git branch -D master01
- 不做任何检查,强制删除
- ps:git branch -d master01 也可以删除分支,但是需要做各种检查,麻烦
- 开发分支使用原则和流程
- 几乎所有的版本控制系统都以某种形式支持分支。 使用分支意味着你可以把你的工作从开发主线上分离开来进行重大的Bug修改、开发新的功能,以免影响开发主线。
- 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
- 不断回车,直到正常,不用管弹出来的
- 获取生成的秘钥,会有一大串的
- cat ~/.ssh/id_rsa.pub
- 验证是否配置成功
- ssh -T git@gitee.com
- 复制仓库的地址
- 初始化本地库,然后与已创建的远程库进行对接
- git remote add origin git@gitee.com:shuang_zi/git_test.git
- git remote add origin git@gitee.com: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 git@gitee.com:shuang_zi/git_test.git
- 从远程仓库抓取和拉取
- 抓取:将仓库里的更新抓取到本地,不会进行合并,没啥用,介绍一下
- git fetch [remote name] [branch name]
- 拉取:将远程仓库的修改拉到本地,自动进行合并,等同于fetch+merge
- git pull [remote name] [branch name] ,可简写,举例:
- git pull
- 备注,如果在一段时间,A、B用户修改了同一个文件,且修改了同一行位置的代码,此时会发生合并冲突。
5.git-小扩展 Vscode的简单介绍使用
- 首先,vscode自带仓库连接(ps:前提是仓库之类得都已经创建好了)
- 然后用vscoode打开你的仓库文件夹
- 然后可以见到下图,提交指的是 提交到本地的仓库,推送才是推送到远程的仓库哦
- AMU代表的含义
- U代表新建的文件,现在在工作区
- A代表新建的文件U添加到了暂存区,目前在暂存区
- M代表在仓库修改过的文件,现在已在工作区
- 分支的切换,如下图
- 单机位于左下角的分支,中间会有弹窗,可以进行切换和创建
图二:
标签:文件,git,vscode,仓库,--,master,调试,分支 来源: https://www.cnblogs.com/sunzhe6739/p/16668514.html