Git
是一个免费开源,分布式的代码版本控制系统,版主开发团队维护代码
作用:记录代码内容,切换代码版本,多人开发时高校合并代码内容
Git
常用命令
命令 | 作用 | 注意 |
---|---|---|
git -v | 查看Git 版本 | |
git init | 初始化本地Git 仓库 | |
git add 文件标识 | 暂存某个文件 | 文件标识以终端为起始的相对路径 |
git add . | 暂存所有文件 | |
git commit -m '说明注释' | 提交产生版本记录 | 每次提交,把暂存去内容快照一份 |
git status | 查看文件状态 - 详细信息 | |
git status -s | 查看文件状态 - 简略信息 | 第一列是暂存区状态,第二列是工作区状态 |
git ls-files | 查看暂存区文件列表 | |
git restore 文件标识 | 从暂存区恢复到工作区 | 如果文件标识为 . 则恢复所有文件 |
git rm --cached 文件标识 | 从暂存区移除文件 | 不让git 跟踪文件变化 |
git log | 查看提交记录 - 详细信息 | |
git log --oneline | 查看提交记录 - 简略信息 | 版本号 分支指针 提交时的说明注释 |
git reflog --oneline | 查看完整历史 - 简略消息 | 包括提交 切换 回退等所有记录 |
git reset 版本号 | 切换版本代码到暂存区和工作区 | --soft 模式:保留暂存区和工作区原本内容 |
git reset 版本号 | 切换版本代码到暂存区和工作区 | --hard 模式:不保留暂存区和工作区原本内容 |
git reset 版本号 | 切换版本代码到暂存区和工作区 | --mixed 模式:不保留暂存区,工作区保留(默认) |
git reset 版本号 | 切换版本代码到暂存区和工作区 | (默认)先覆盖到暂存区,再用暂存区对比覆盖工作区 |
git branch 分支名 | 创建分支 | |
git branch -d 分支名 | 删除分支 | 删除前确保记录已经合并到别的分支下,再删除 |
git branch | 查看本地分支 | |
git checkout 分支名 | 切换分支 | |
git checkout -b 分支名 | 创建并切换分支 | |
git merge 分支名 | 把分支提交历史记录合并到当前所在分支 | |
git remote add 远程仓库别名 远程仓库地址 | 添加远程仓库地址 | 别名唯一,一般为origin 地址是 .git 结尾的网址 |
git remote -v | 查看远程仓库地址 | |
git remote remove 远程仓库别名 | 删除远程仓库地址 | |
git pull 远程仓库别名 分支名 | 拉取 | 具体看下边多人协同开发 |
git push 远程仓库别名 分支名 | 推送 | 具体看下边远程仓库 |
git pull -rebase 远程仓库别名 分支名 | 拉取合并 | 合并没有关系的记录 |
git clone 远程仓库地址 | 克隆 | 从0得到一个远程的Git仓库到本地使用 |
多人协同开发
需求:A代码共享给B
步骤:
- A开发代码 -> 工作区 -> 暂存区 -> 提交 -> [拉取] -> 推送到远端
- B -> 拉取 (后续也可以开发代码 -> … -> 推送)
想要看到别人同步上去的最新内容:
git pull origin master
上述命令等价于:
git fetch origin master:master
获取远程分支记录到本地,未合并
git merge origin/master
把远程分支记录合并导当前所在分支下
合并冲突
需求1:基于master新建A分支,完成业务A,然后修改index.html
文件的title
标签,并提交一次
需求2:切换到master,也修改index.html
文件的title
标签,并提交一次
冲突:把A分支合并导master(在master分支进行合并 git merge A),这时就产生了合并冲突
概念:不同分支中,对同一个文件的同一部分进行修改,Git无法干净的合并,从而产生了合并冲突
解决:
- 打开
VSCode
找到冲突文件并手动解决 - 解决后需要提交一次记录
合并冲突要尽量避免
1. 按页面划分不同,分支开发
2. 公共代码在统一文件夹维护
3. node
的软件版本统一,npm
包统一下载
Git
远程仓库
需求:创建远程版本库,并把本地Git仓库推送上去保存
步骤:
- 注册自己的Git账号
- 新建仓库得到远程仓库Git地址
- 本地Git仓库添加远程仓库原点地址
- 命令:
git remote add 远程仓库别名 远程仓库地址
- 例如:
git remote add origin htts://gitee.com/sup*****ai/weather
- 命令:
- 本地Git仓库推送版本记录到远程仓库
- 命令:
git push -u 远程仓库别名 本地和远程分支名
- 例如:
git push -u origin master
- 完整写法:
git push --set-upstream origin master:master
- 命令:
本地设置用户信息:
git config --global user.name "name"
git config --global user.email "hello@163.com
信息查看:
git config --global user.name
git config --global user.email
凭据管理器
可对凭据信息进行管理