《全方位入门git》的视频笔记
推荐
git仓库名称(个人-付费) | github | gitlab | gitee | 腾讯 git | 慕课 git | 阿里 git |
---|---|---|---|---|---|---|
仓库大小 | 500M-2G | - | - | - | - | 2G-无限制 |
仓库数量 | 无限制 | - | - | - | - | 50-无限制 |
page | 支持公共仓库-支持私有和公共仓库 | - | - | - | - | |
Actions | 每月2000分钟-每月3000分钟 | - | - | - | - | |
安装 git
win
mac
- 安装方法一:
brew install git
- 如果
brew
不存在 - brew官网安装命令:
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install.sh)"
- 如果报错则使用下面加速安装:
curl: (7) Failed to connect to raw.githubusercontent.com port 443: Connection refused
- 内地加速安装
brew
/bin/bash -c "$(curl -fsSL https://cdn.jsdelivr.net/gh/code-ba/brew-install@main/install.sh)"
- 如果
- 安装方法二:
- 在控制台输入
git
,根据命令安装软件,等待一段时间完成安装即可。
- 在控制台输入
安装完成后,打开 cmd
输入 git --version
出来版本号说明安装 git
成功:git version 2.28.0.windows.1
创建密钥[ssh key]
ssh-keygen
,一路回车即可- 这里是路径,不填就是默认的(
./id_rsa_gitlab
是相对当前路径的,可以写完整绝对路径,win如果没权限可以在.ssh
文件夹下面打开gitbash
再生成)Enter file in which to save the key (/c/Users/Baran.Lee/.ssh/id_rsa): /c/ssh/
- 这里是密钥的密码,不填就是默认空
Enter passphrase (empty for no passphrase):
- 确认密码
Enter same passphrase again:
- 如果自定义了路径,可以通过
.ssh/config
文件自定义配置路径
- 这里是路径,不填就是默认的(
- 拷贝公钥
- mac
pbcopy < ~/.ssh/id_rsa.pub
- win用gitbash
clip < ~/.ssh/id_rsa.pub
- mac
- 粘贴到设置配置公钥的地方,如github,点击add ssh key,title非必填
github创建仓库
- 注册登录成功后,
点击 new
会看到Create a new repository
- 填写 仓库名称
Repository name
- 填写 仓库描述
Description
- 选择 仓库类型
公共 public
私有 private
- 选择 添加自述文件。 (建议选上 README.md)
- 选择 添加
.gitignore
。 - 选择一个许可证。
- 点击最下面的创建仓库按钮完成创建。
配置提交忽略文件或文件夹,根目录新建文件.gitignore
1 | .history |
初始化仓库
初始化本地仓库
git init
git add README.md 或者 git add .
git commit -m "first commit"
git branch -M main
git remote add origin https://github.com/cxvh/docs.git
git push -u origin main
已有仓库
git remote add origin https://github.com/cxvh/docs.git
git branch -M main
git push -u origin main
多人使用 git 需要先邀请为团队成员
github
的邀请在邮箱可以收到,码云
的邀请直接登录个人账号能收到
想要找到所有的操作记录时如何进行操作
- 查看所有提交记录
git log
- 查看某个人的提交记录
git log --author='Baran'
配置用户名和邮箱
- 添加用户名
git config --add --global user.name 'cxvh'
- 添加邮箱
git config --add --global user.email '***@outlook.com'
- 编辑用户名
git config --global user.name 'cxvh'
- 编辑邮箱
git config --global user.email '***@outlook.com'
- 查看配置信息
git config --global --list
- 删除 user
git config --global --remove-section user
想要修改项目中的文件时如何进行操作
查看项目当前的状态
git status
modified: demo.html
(字红色) 意思是改动,demo.html
文件被改动,提示需要添加到暂存区git add demo.html
git status
modified: demo.html
(字绿色) 意思是改动,demo.html
文件被改动,此时文件在暂存区,可以提交到远程仓库
查看提交记录git log
想要删除不需要的文件时如何进行操作
手动删除文件
- 删除后查看状态
git status
deleted:demo.html
(字红色)- 把剩余的本地代码提交到暂存区
git add .
- 在次查看状态
git status
deleted:demo.html
(字绿色)- 提交到暂存区仓库
git commit -m 手动删除文件
命令行删除文件
- 输入命令+要删除的文件或文件夹或文件夹下面的文件
git rm demo.html
删除文件后,记得把剩余文件添加到暂存区里面
git add .
git status
deleted:demo.html
(字绿色)git add .
git commit -m 命令行删除文件
想要给文件重命名时如何进行操作
手动重命名
- 手动重命名后查看状态
git status
deleted:demo.html
(字红色)删除了一个文件home.html
(字红色)添加了一个文件git add home.html
git rm demo.html
git status
renamed:demo.html->home.html
(字绿色)说明操作成功git commit -m 手动重命名文件
git status
提交到远程仓库,查看状态:nothing to commit
是没有要提交的
命令行修改名字
- 格式:git mv 当前名字 修改后名字
git mv home.html demo.html
git status
renamed:demo.html->home.html
(字绿色)说明操作成功git commit -m 命令行重命名文件
git status
再次提交到远程仓库,查看状态:nothing to commit
是没有要提交的
想要移动文件到其他位置时如何进行操作
移动文件到文件夹
- 命令行格式:git mv 文件 文件夹
git mv demo.html page
git status
renamed:demo.html->page/demo.html
(字绿色)说明操作成功git commit -m '移动文件到文件夹并提交'
移动文件到文件夹 并 重命名
- 命令行格式:git mv 文件 文件夹/文件名
git mv demo.html page/home.html
git status
renamed:demo.html->page/home.html
(字绿色)说明操作成功git commit -m '移动文件到文件夹 并重命名 并提交'
文件有变化时如何查看文件前后变化
文件重命名+移动+各种操作后,命令行查看文件的前后变化
- 方法一
- 格式:
git log --pretty=online
文件的所在位置 名称 或 路径/名称 git log --pretty=oneline home/demo.html
- 出来了
ID head -> 分支(master)
描述:移动文件并且重命名 - 复制 ID
- 格式:
git show ID
git show b435ec75eabc959559a5sd9adasdsadasdas
- 格式:
- 方法二
- 格式:
git log -p 文件的所在位置 名称 或 路径/名称
git log -p home/demo.html
- 格式:
操作失误的情况下如何实现一键还原
文件还没有提交到暂存区之前,让代码回到上一次提交的状态
- 针对单个文件的还原
- 自己找不同,手动还原
git diff
- 红色删掉的,绿色添加的
命令行操作
git status
modified:home/demo.html
说明有改动的文件,那就还原他git checkout -- home/home.html
不再追踪时如何实现撤销追踪操作
文件已经提交到暂存区,git 会对文件进行追踪,所以需要撤销追踪,然后还原
git reset HEAD home/demo.html
git checkout -- home/home.html
想要回到上一版本或者指定版本时如何进行操作
一个项目提交到暂存区 5 次,项目快速退回到第 3 次 提交的状态
- 方法一
- ^ 一个(^)代表回退一个版本,^ 两个(^^)代表回退两个版本,就到第 3 次 提交
git reset --hard HEAD^^
- 方法二
- 获取需要回退到的版本 ID (可以取前 7 位,也可以全部复制)
git log
- 回退指定版本 ID(可以是 ID 前 7 位,也可以是完整 ID)
git reset --hard ID
想要将某一文件回到指定版本时如何进行操作
一个 项目 提交到暂存区 5 次,指定文件 快速退回到第 3 次 提交的状态
- 获取要回退的版本 ID (可以取前 7 位)
git log
git checkout e748986 -- demo.html
git checkout e748986 -- home/home.html
git add .
git commit -m 将指定文件回退到指定版本
想要修改内容之后推送至远程仓库时如何进行操作
- 推送到远程的
master
支上git push origin master
- 设置默认推送远程地址
git push --set-upstream origin main
(设置成功后下次只需要git push
即可)
想要给每个版本创建一个独特标签,做所有版本
- 创建 tag
git tag v1.0
- 给指定 commit 版本 创建 tag
git tag v0.5 9286adde
- 查看 tag
git tag
- 删除 tag
git tag -d v0.5
- 推送 tag 到远程仓库
git push origin v1.0
创建的 tag 默认 加到最新的一次 commit 上面
想要切换、删除分支时如何进行操作
分支操作:需要完成某些功能,从主线中剥离出来一些支线,由支线完成单独的功能,最后把支线合并到主线
- 创建分支
git branch dev
- 查看分支
git branch
- 切换分支
git checkout dev
- 删除分支(不能删除当前的分支)
git branch -d test
- 强制删除分支(分支处于 commit ,没有 push 到远程仓库的状态也是不能删除)
git branch -D test
- 创建分支并切换到分支
git checkout -b test
想要合并分支时如何进行操作
分支开发完成后,commit 到暂存区,合并到主线,
切换主线分支,然后把 dev 分支 合并到主线 master 分支
git checkout master
git branch
git merge dev
dev合并到master
dev 分支没有变化,master 是合并后的代码
当合并分支有冲突时如何正确的合并分支
两人都改了同一个文件后进行合并git merge dev
- 解决方法一
- 冲突,忽略 dev 分支代码,保留原分支(当前分支)内容
git merge --abort
- 解决方法二
- 手动处理冲突
- git add .
- git commit
- 可编辑界面,
按 i 可输入
加注释:这是解决冲突之后的正确代码,解决了 test.html 当中的冲突 - 退出编辑:
esc-->:wq-->enter
git commit -m 解决冲突之后的代码
不同人想要查看版本路线如何进行操作
- 查看日志
git log
- 查看精简日志
git log --oneline
- 查看版本路线,分支日志
git log --oneline --graph
不同人想要删除不想要的分支如何操作
- 拉取所有的远程仓库
git fetch
- 查看远程分支
git branch -av
- 删除远程仓库分支(1.改分支是不是不需要了 2.该分支有没有合并到主分支)
git push origin --delete dev
不同人修改了不同文件如何处理
张三给远程仓库 dev 提交了代码,修改了 a.html 文件,当前用户改了 b.html 需要提交到远程仓库
- 查看远程分支
git branch -av
- 出来了
remotes/origin/dev
- 把远程的仓库 dev 分支 代码合并到暂存区的 dev 分支,再把暂存区的 dev 分支提交到远程仓库
git merge origin/dev
按 i 编辑
加入注释,退出编辑:esc
—>:wq
–>enter
- 提交到远程 dev 仓库
git push
不同人修改相同的文件如何操作
- 添加用户,模拟 A 用户 可忽略
git config --add --global user.name 'cc'
git config --add --global user.email 'qq@qq.com'
- 查看本地分支与远程分支的关联
git branch -av
- 远端分支与本地分支做关联
git checkout -b dev remotes/origin/dev
- 对项目进行改动,然后提交
git add .
git commit -m 我需改的
git push
- B 用户修改文件提交
git branch -av
git fetch
git branch -av
git checkout -b dev remotes/origin/dev
- 对项目进行改动,然后提交
git add .
git commit -m 他需改的
git push
从谷歌应用商店安装扩展
- 打开百度搜索:谷歌访问助手http://googlehelper.net/
- 下载浏览器扩展并安装
- 打开谷歌应用商店https://chrome.google.com/webstore/category/extensions?hl=zh-CN
安装浏览器扩展: octotree(应用商店搜索出来第一个)
github 会出来左侧的导航树,类似编辑器的导航树,体验效果一样
安装浏览器扩展: enhanced github(应用商店搜索出来第一个)
github 会显示单个文件的大小,在单个文件旁边显示下载图标,点击可直接下载单个文件
安装浏览器扩展: gitzip for github(应用商店搜索出来第一个)
github 直接下载某个文件夹,文件夹空白处双击,出现下载图标,点击下载