Git教程
- 视频教程网页(B站up:GeekHour)
- git常用命令行
- P2 02. 安装和初始化教程
- P3 03.新建仓库
- P4 04.工作区域和文件状态
- P5 05.添加和提交文件
- P7 07.使用git diff查看差异
- P8 08.使用git rm删除文件
- P9 09.gitnore忽略文件
- P10 10.注册github账号
- P11 11.SSH配置和克隆仓库
- P12 12.关联本地仓库和远程仓库
- P13 13.Gitee的使用和GitLab本地化部署
- P14 14.GUI工具
- P15 15.在vscode中使用Git
- P16 16.分支简介和基本操作
- P17 17.解决合并冲突
- P18 18.回退和rebase
- P19 19.分支管理和工作流模型
视频教程网页(B站up:GeekHour)
链接: link
git常用命令行
P2 02. 安装和初始化教程
# 配置用户名
git config --global user.name "Your Name"
# 配置邮箱
git config --global user.email "mail@example.com"
# 存储凭证
git config --global credential.helper store
local 本地配置,只对本地仓库有效果
–global 全局配置,所有仓库生效(一般使用)
–system 系统配置,对所有用户生效
P3 03.新建仓库
# 方式一 创建一个新的本地仓库(省略project-name则在当前目录创建。)
git init <project-name>
# 方式二 克隆一个远程仓库
git clone <url>
P4 04.工作区域和文件状态
P5 05.添加和提交文件
P7 07.使用git diff查看差异
# 查看未暂存的文件更新了哪些部分。
git diff
# 查看两个提交之间的差异。
git diff <commit-id> <commit-id>
#查看提交日志
git log
# 查看提交历史, --oneline表示简介模式。
git log --oneline
# 查看已经提交的记录(查看所有记录包括以及删除的
git reflog
# 查看两个分支之间的差异(HEAD^2表示上两个版本,如果是HEAD^3表示往前数3个版本
# HEAD~ 上四个版本
git diff HEAD^2 HEAD
P8 08.使用git rm删除文件
# 查看本地仓库中的文件内容
ls -ltr
# 查看暂存区中的文件
git ls-files
# 从工作区和暂存区删除一个文件, 并且将这次删除放入暂存区。
git rm <file>
# 删除后需要git commit -m "",否则删除的内容在版本库中还存在
git commit -m " "
P9 09.gitnore忽略文件
# 在git bash命令行中创建文件
echo "some log" > some.log
# 在some.log后面追加内容sample
echo "sample" >> some.log
# 创建文件(创建temp文件夹)
mkdir temp
# 在.gitignore中忽略文件
*.log #忽略所有日志文件
temp/ #忽略temp文件夹下的所有文件,需要以“/”结尾
P10 10.注册github账号
P11 11.SSH配置和克隆仓库
cd .shh
ssh-keygen -t rsa -C "email"
# 如果本地创建了多个SSH,需要进行指定
tail -5 config
下述链接有详细的SSH配置操作步骤
链接: link
- 网址:https://zhuanlan.zhihu.com/p/136355306
# remote 表示推送到的远程仓库,branch表示分支
git push origin main
P12 12.关联本地仓库和远程仓库
# 从命令行推送到现有的仓库
git remote add origin <github仓库SSH链接>
git branch -M main
# -u是upstream的缩写,表示将将本地仓库和origin的远程仓库进行关联,将本地的master分支推送到远程仓库的main分支
git push -u origin master:main
# 添加远程仓库
git remote add <remote-name> <remote-url>
# 查看远程仓库
git remote -v
# 从远程仓库拉取代码。 默认拉取远程仓库名origin的master或者main分支。
git pull <remote-name> <branch-name>
P13 13.Gitee的使用和GitLab本地化部署
gitee | GitLab |
---|---|
gitee.com | gitlab.com |
国内平台 | 私有化部署 |
P14 14.GUI工具
软件推荐 | 功能 |
---|---|
Github Desktop | 使用github较多,只需要图形化的界面 |
SourceTree | 功能强大 |
GitKraken | 功能强大 |
P15 15.在vscode中使用Git
- 网址:https://www.bilibili.com/video/BV1HM411377j?p=15&vd_source=12144d8d88ec6bb00f46819fe9a42ea1
插件:git graph、git lens
P16 16.分支简介和基本操作
# 查看所有本地分支, 当前分支前面会有一个星号*, -r查看远程分支, -a查看所有分支
git branch
# 创建一个新的分支
git branch <branch-name>
git switch <branch-name> # 推荐使用
# 切换到指定分支,并更新工作区。
git checkout -b <branch-name>
# 合并分支,将merge后的分支名称合并到当前分支
git merge <branch-name>
# 删除一个已经合并的分支
git branch -d <branch-name>
# 删除一个分支, 不管是否合并。
git checkout -D <branch-name>
P17 17.解决合并冲突
如果两个分支修改了同一个文件的同一行代码,需要手动解决冲突
# 修改某个文件中的内容,指修改main.txt中的内容,修改后按Esc键,输入:wq退出
vi main.txt
# 同时完成添加暂存和提交两个动作,只对修改过的文件有效,对新文件无效,下面两个命令均有效
git commit -a -m "feat1"
git commit -am "main6"
# 终止合并
git merge --abort
P18 18.回退和rebase
git rebase branch-name
# 将branch的仓库复制到branch1
cp -rf branch branch1
# 在图形画页面看提交记录和节点
git log --oneline --graph --decorate --all
# 将命令转换为graph,只需要在命令行输入graph相当于等号后的内容
alias graph="git log --oneline --graph --decorate --all"
- Merge
- 优点:不会破坏原来分支的提交历史,方便回溯和查看,
- 缺点:会产生额外的提交节点,分支图比较复杂
- rebase
- 优点:不好新增额外的提交记录,形成线性历史,比较干净和直观
- 缺点:会改变提交历史,改变了当前分支branch out的节点,避免在共享分支中使用
P19 19.分支管理和工作流模型
- GitFlow模型
- GitHub Flow 模型
- 网址:https://www.bilibili.com/video/BV1HM411377j?p=19&vd_source=12144d8d88ec6bb00f46819fe9a42ea1
- 视频链接: link