您现在的位置是:首页 >技术交流 >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操作
风语者!平时喜欢研究各种技术,目前在从事后端开发工作,热爱生活、热爱工作。