您现在的位置是:首页 >技术交流 >git:全整理篇【常用、版本前进和回滚、分支命令、忽略文件、文件状态】网站首页技术交流
git:全整理篇【常用、版本前进和回滚、分支命令、忽略文件、文件状态】
简介git:全整理篇【常用、版本前进和回滚、分支命令、忽略文件、文件状态】
Git
常用命令
仓库创建和入库操作
-
设置用户名密码
git config --global user.email "xxx@xxx.com" // xxx@xxx.com 换成你的邮箱地址 git config --global user.name "xxxx" // xxxx换成你的用户名 -
git init初始化 git 仓库 -
检查当前文件状态:
git status- 绿色:暂存区;红色:被修改or新增的;
-
添加到暂存区
git add xxx// 添加xxx文件到仓库git add .把所有更改的文件添加到仓库
-
提交本地版本库:
git commit -m "提交信息" -
提交分支到云端仓库:
git merge user -
第一次提交分支到云端仓库:
git push -u orgin user- 解释
git 到云端 分支 仓库名 分支名
- 解释
顺序完成一个项目
- git init
- 在码云上新建仓库得到一个仓库地址
- 关联仓库 : git remote add origin 仓库地址
- git add .
- git commit -m"init"
- git push origin master -u (第2次提交使用git push)
- 添加文件, 重复4-5-6步
撤销和删除操作
git checkout .放弃所有更改 实操: 修改test.js的内容,然后执行git checkout . 你会发现你所有的修改都没了git clean -fd删除新增文件但没对其执行过git add的文件rm .git -rf删除仓库(或者直接删除隐藏文件夹.git)
克隆拉取
-
克隆到本地
git clone https://gitee.com/huruqing/gitdemo.git@git -
如果是https开头,则需要输入用户名密码,关联远程仓库
git remote add origin https://gitee.com/huruqing/gitdemo.git -
git remote remove origin断开与远程仓库的关联 -
git remote -v查看关联的远程仓库 -
把本地仓库内容推送(同步)到远程仓库 git push origin xxx
- git push origin master 推送到远程仓库的主干
- git push origin dev 推送到远程仓库的 dev 分支
- git push origin master -u // -u 下次推送不用加分支名称,直接使用 git push 即可
- git push origin master -f // -f 强制推送,轻易不要使用
-
git pull拉取代码,把远程仓库的代码同步到本地仓库,如果本地有代码未提交,需要先提交然后推送才能拉取代码
分支命令
- git checkout -b dev // 创建并切换到dev分支
- git checkout master // 切换到主干分支
- git branch // 查看分支
- git branch -a // 查看所有分支
- git fetch -a // 拉取所有分支, 拉取之后使用git branch -a才能看到别人新建的远程分支
- git fetch 仓库地址 dev 拉取远程仓库的dev分支
- git checkout -b dev origin/dev 拉取并创建切换到dev分支
- git push origin dev // 推送dev分支代码到远程仓库的dev分支
- git pull origin dev:dev // 拉取远程dev分支
- git merge dev -m"xxx" // 合并dev分支到主干分支(当前分支必须是master分支)
- git merge master -m"xxx" // 合并master分支到dev分支(当前分支是dev分支)
git 仓库中文件状态
仓库中的文件分为两大类:
- 未跟踪文件 - 未进行git add操作的文件
- 已跟踪文件 - 执行过git add操作的文件都是已跟踪的文件
vscode中文件末尾字母含义
U: 未跟踪的文件 A: 新增的文件 M: 被修改的文件 D: 被删除的文件 C: 有冲突的文件 更改和暂存中的更改
- 在[更改]区的文件表示文件被新增、删除、修改
- 对第1点中的文件执行
git add, 这些文件就进入了[暂存的更改]区 - 对第2点中的文件执行
git commit, 这些文件就从[暂存的更改]区消失
忽略文件
- 在项目根目录添加.gitignore 文件
- 打开.gitignore 文件,添加你要忽略推送的文件:
.DS_Store;node_modules;等
版本前进和回滚
-
如果我们要回退到某次操作提交上来,我们只需要将id复制一下,然后执行下面命令即可
git reset --hard e55640863f0eb141e0857761f0268c61121c07ac -
回到上一个版本
git reset --hard HEAD^ // 回到上上个版本用 git reset --hard HEAD^^ -
版本回退之后,如果想再回到现在,你只需要记住你要回到的id即可使用同样的命令回到现在
-
如果不记得版本id,还可以使用git reflog来查看你提交的历史记录,从中找到版本的id,再进行reset操作
风语者!平时喜欢研究各种技术,目前在从事后端开发工作,热爱生活、热爱工作。





U8W/U8W-Mini使用与常见问题解决
QT多线程的5种用法,通过使用线程解决UI主界面的耗时操作代码,防止界面卡死。...
stm32使用HAL库配置串口中断收发数据(保姆级教程)
分享几个国内免费的ChatGPT镜像网址(亲测有效)
Allegro16.6差分等长设置及走线总结