git 代码管理(提交-版本回退-线上部署)
使用git代码版本管理工具时,面临的两个问题:1.使用第三方软件中集成的git可视化工具,2.git自带的黑窗口
我们这次主要是以 2为主,
第一次安装 git的小伙伴 需要设置自己的 git信息
git config --global user.name 'user.name'
git config --global user.email 'user.email'
可以使用git config --list可以查看自己的配置列表
项目中常用的
git init //在相应的根目录先初始化一个Git仓库 这个操作是本地操作的
拷贝项目仓库的(线上)
git clone 线上地址 //拷贝线上项目仓库到本地
提交快照(文件本地缓存->提交到本地git仓库->同步到远程服务器)
git status //以查看在你上次提交之后,是否有修改,追踪修改文件的 状态
git add [file] //文件本地缓存
git commit -m '提交记录' //将缓存区文件提交到本地git仓库
git pull //本地同步远程代码
git push //将本地的代码推送到远程服务器
其他
查看分支:git branch
创建分支:git branch <name>
切换分支:git checkout <name>
创建+切换分支:git checkout -b <name>
合并某分支到当前分支:git merge <name>
取消已缓存的内容:git reset HEAD
查看提交 代码记录:git log
清空本地暂存栈信息:git stash clear
记录管理(版本回退)
git log --pretty=oneline >> log.txt //可列出代码的所有改动历史,将他保存到一个文件中
git revert HEAD 撤销前一次 commit
git revert HEAD^ 撤销前前一次 commit
git revert 撤销指定的版本编码 //撤销也会作为一次提交进行保存
git reset –hard 某个版本 //彻底回退到某个版本,本地的源码也会变为上一个版本的内容
git reset --hard 某个版本 //远程仓库的目录下对应的文件还是之前的内容,必须得使用git reset --hard才能看到push后的内容.reset是指将当前head的内容重置,不会留任何痕迹。
git reset -–soft 某个版本 //回退到某个版本,只回退了commit的信息,不会恢复到index file一级。如果还要提交,直接commit即可
修改git的远程仓库地址
git remote set-url origin https://github.com //移除项目的git仓库地址 修改成https://github.com
git push -u origin master master
git remote add origin https://gitee.com/Mihansy/vue //你要关联的远程仓库
git push -u origin master master
可能会碰到的问题(如果远程库不为空必须做这一步,否则后面的提交会失败)
git pull --rebase origin master
把本地库的内容推送到远程,使用 git push命令,实际上是把当前分支master推送到远程
将当前分支的修改迁移到另一个分支
前提:例如在master分支中修改了部分文件, 这时候不想提交到该分支或在错误的分支开发, 想要提交到dev分支 /切换到正确的分支开发 修改的东西还在,
-
在master分支中:
git stash
-
切换到dev分支:
git checkout dev
-
将修改同步到dev分支:
git stash apply
git 创建本地分支并同步到远程分支
前提是 已存在git本地仓库(没有的话 需要 git init 初始化仓库)
git checkout -b branchName //创建本地分支branchName
git remote add origin git_url //添加远程分支git_url
git add 文件 //添加文件到本地分支
git commit -m 记录 //提交文件到本地分支
git push origin branchName(本地分支名):branchName(远程分支名)
//推送文件到远程分支,如果没有远程分支会自动创建
强行覆盖 远程仓库(远程同步本地)
前提:远程仓库存在无用代码(之前的代码),想把一个新项目 提交到这个仓库
···
git push origin master --force //强行提交代码 用于 覆盖原有仓库代码
需设置git push --set-upstream origin master
或
···
git push -f --set-upstream origin master:dev 强行覆盖相应远程分支代码
某个文件夹到某分支
可能你在GitHub项目中可能会用到,可以github的pages可以部署自己的项目文件
git run build
git branch gh-pages //创建gh-pages分支
git checkout gh-pages //切换到gh-pages分支
git add -f dist //强制把dist文件夹提交到github
git subtree push --prefix dist origin gh-pages //把dist文件夹单独部署到gh-pages分支
2的git的学习成本要比一些三方软件集成的git可视化软件大,在开发的角度上不建议直接上手git黑窗口!!
在熟练使用git可视化,可以把 这种作为git深度的拓展