git命令行进阶版之fork仓库流程——git remote-查看仓库 & git fetch-拉取代码 & git stash-暂存变动
1、查看本地远程仓库
git remote
显示origin
查看查看现有远程仓库的地址url
git remote -v
显示
origin 自己fork主库后生成的ssh远程仓库url地址 (fetch)
origin 自己fork主库后生成的ssh远程仓库url地址(push)
2、添加新的远程主库
添加一个新的远程仓库,可以指定一个简单的名字,以便将来引用
git remote
git remote add ori(远程主库命名) git@gitlab.xxx.com:xxx.git(远程主库ssh地址)
查看本地分支
git branch
显示master
查看本地远程仓库
git remote
显示origin
和ori
拉取代码
git fetch 是从远程分支拉取代码。fetch结合merge一起用,git fetch + git merge == git pull;
git fetch是拉取当前项目的所有分支的的提交;
拉取远程主库
git fetch ori
//git pull——拉取的是fork的库
git pull ori master——拉取的是远程主库
推送到fork后的远程仓库
git push origin master——推送的是fork远程库
2.1、补录
拉取远程代码,运行时报错
Module build failed: Error: Node Sass does not yet support your current environment: Windows 64-bit with Unsupported runtime (93)
// 模块生成失败:错误:节点Sass尚不支持当前环境:Windows 64位,运行时不受支持(93)
原因:sass不支持当前的环境
解决方法1
npm版本过高导致的,在vue项目中运行
npm i node-sass -D
重新启动项目就ok。npm run dev
或npm run serve
解决方法2
npm uninstall --save node-sass //卸载
npm install --save node-sass (cnpm install --save node-sass ) // 安装
3、辅助
git stash // 暂存变动
git status // 查看变动
git branch // 查看本地分支
git fetch // 从远程拉取代码
git fetch origin // 从远程主库拉取代码
git pull 远程仓库命名 远程仓库分支 // 从远程拉取master代码
git push // 推送到远程仓库
4、git stash详解
场景:
1 当正在dev分支上开发某个项目,这时项目中出现一个bug,需要紧急修复,但是正在开发的内容只是完成一半,还不想提交,这时可以用git stash命令将修改的内容保存至堆栈区,然后顺利切换到hotfix修复分支进行bug修复,修复完成后,再次切回到dev分支,从堆栈中恢复刚刚保存的内容。
2 由于疏忽,本应该在dev分支开发的内容,却在master上进行了开发,需要重新切回到dev分支上进行开发,可以用git stash将内容保存至堆栈中,切回到dev分支后,再次恢复内容即可。
总的来说,
git stash命令的作用就是将目前还不想提交的但是已经修改的内容进行保存至堆栈中,后续可以在某个分支上恢复出堆栈中的内容。
这也就是说,stash中的内容不仅仅可以恢复到原先开发的分支,也可以恢复到其他任意指定的分支上。git stash作用的范围包括工作区和暂存区中的内容,也就是说没有提交的内容都会保存至堆栈中。
应用
1、 git stash
能够将所有未提交的修改(工作区和暂存区)保存至堆栈中,用于后续恢复当前工作目录。
2.1、git stash pop
将当前stash中的内容弹出,并应用到当前分支对应的工作目录上。
注:该命令将堆栈中最近保存的内容删除(栈是先进后出)
2.2、git stash apply
将堆栈中的内容应用到当前目录,不同于git stash pop,该命令不会将内容从堆栈中删除,也就说该命令能够将堆栈的内容多次应用到工作目录中,适应于多个分支的情况。
git stash drop + 名称 // 从堆栈中移除某个指定的stash
git stash clear // 清除堆栈中的所有 内容
git stash show // 查看堆栈中最新保存的stash和当前目录的差异。