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分支

image

2的git的学习成本要比一些三方软件集成的git可视化软件大,在开发的角度上不建议直接上手git黑窗口!!
在熟练使用git可视化,可以把 这种作为git深度的拓展

posted @ 2021-07-26 11:45  xiao旭  阅读(23)  评论(0编辑  收藏  举报