下面小编牛牛给大家介绍一下自己学习工作中用到的一些git常用命令,众所周知,git有三个工作状态区:工作区,暂存区,历史区
下载github,电脑和远程github仓库建立链接
SSH协议
一个公钥只能配置一个账户,一个账户可以关联多个公钥,使用 SSH 协议来访问 Git 仓库,不需要每次链接都输入账号和密码。ssh公钥设置
基本配置如下(以mac为例子):
-
获取你的ssh秘药
ssh-keygen -t rsa -C <your_email@example.com>你的邮箱
-
github配置ssh,文件中快速找到.ssh文件
open ~/.ssh
-
配置第二个ssh
ssh-keygen -t rsa -C "your_secondemail@email.com" -f ~/.ssh/second_rsa
常用git命令
日常工作中,那我们现在的开发模式来讲述的话,日常master分支,开发分支在master下面的其他分支,例如:dev项目分支,如果几个人一起开发同一个项目,都在dev分支
- git add a.html/-A/.
将文件添加到暂存区
- git commit -m '提交注释'
将文件添加到历史区
- git pull origin dev
从远程仓库dev拉取最新代码
- git push origin dev
修改内容推送到远程仓库dev
- git log / git log --pretty=oneline
查询提交commit版本,命令行退出编辑,点击esc,再点击:再之后wq ,回车即可退出;
- git reset --hard HEAD^/ git reset --hard 1094a(版本号)
- git reflog 针对reset回退,需要再回到reset之前
- git checkout -- 文件
清掉工作区的内容,针对还没有add的文件,丢掉工作区的代码
- git reset HEAD 文件
add到暂存区使用该命令撤回到历史区
从远程仓库删除托管在git上面的文件,比如.git或者node_modules文件等
如果在.gitignore文件少些了些忽略文件并且不小心把代码提交到了远程仓库,每次提交都有一大堆文件,如何解决此问题,步骤如下:
- 新加ignore文件
node_modules/
- 然后删除远程分支上面的多余文件
git rm -r --cached node_modules
- 再然后将本地修改的文件提交到远程仓库中 add+commit+push
分支管理
- 新建并切换分支test
git checkout -b test
- 查看当前分支 本地/远程
git branch/git branch -a
- 分支合并
git merge test
切记:在test分支切换到别的分支,进行分支合并,git log查询不到合并细节,fast-forward合并
-
分支合并(带历史记录版本)
git merge test --no-ff -m 'merge with no-ff' test
-
删除分支: 本地/远程
git branch -D test / git push origin --delete test
切记:在test分支切换到别的分支才可以删除分支
本地远程分支多人协作
- 新建分支并和远程连接
git checkout -b dev origin/dev
- 新建分支并和远程连接
git branch --set-upstream dev origin/dev
Git push —set-upstream origin dev
git版本回退
遵循三要素,历史回工作前,暂存回工作后,工作后回工作前