一、基本操作
1.vim编辑器命令:i编辑模式 esc一般模式 w保存 p退出编辑器 p!强制退出 :set nu显示行数
2.状态查看操作:查看工作区、暂存区的状态
git status
3.添加操作:将工作区的“添加修改”添加到暂存区
git add [file name]
4.提交操作:将暂存区的内容提交到本地库
git commit -m “My second commit,modify good.txt” [file name]
5.查看历史记录:
git log
多屏显示控制方式:空格向下翻页、b向上翻页、q退出
每条日志只显示一行:
- git log --pretty=oneline
- git log --oneline/git reflog HEAD@{移动到当前版本需要多少步}
6.前进后退
基于索引值(推荐)
git reset --hard 局部索引值
使用^符号:只能后退 (根据^的个数确定回退步数)
git reset --hard HEAD^^^
使用~符号:只能后退 (根据后跟数字确定回退步数)
git reset --hard HEAD~3
7.reset命令三个参数的对比
- soft参数:仅仅在本地库移动HEAD指针
- mixed参数:在本地库移动HEAD指针、重置暂存区
- hard参数:在本地库移动HEAD指针、重置暂存区、重置工作区
8.删除文件并找回:前提:删除前,文件存在时的状态提交到了本地库
git reset --hard[指针位置]
- 删除操作已经提交到本地库:指针位置指向历史记录
- 删除操作尚未提交到本地库:指针位置使用HEAD
9.比较文件差异:
- 将工作区中的文件和暂存区进行比较
git diff[文件名]
- 将工作区中的文件和本地库历史记录比较
git diff[本地库中的历史版本][文件名]
- 比较多个文件
git diff不带文件名
10.删除本地库:
rm -rf .git
二、分支管理
1.创建分支:
git branch [分支名]
2.查看分支:
git branch -v
3.切换分支:
git checkout[分支名]
4.合并分支:
- 切换到被合并的分支上
- 执行命令git merge [新内容分支]
git merge [新内容分支]
5.解决冲突:
(1)编辑文件,删除特殊符号
(2)把文件修改到满意程度,然后保存退出
(3)git add[文件名]
(4)git commit -m”日志信息”(注意:此时commit一定不能带具体的文件名)
三、远程推送
1.GitHub/码云
2.查看地址别名目录
git remote -v
3.地址重命名
git remote add [地址名] [地址]
4.推送
git push [地址名][分支名]
5.克隆
git clone[远程地址]
效果:
(1)完整地把远程库下载到本地
(2)创建origin远程地址别名
(3)初始化本地库
6.拉取
pull=fetch+merge
git fetch[远程地址库别名][远程分支名]
git merge[远程库地址别名/远程分支名]
四、跨团队协作
1.Fork到自己的远程库
2.git clone
git clone[远程地址]
3.本地修改然后推送到远程
4.pull request
pull request
5.审核代码
6.merge pull request
merge pull request
五、SSH免密登录
1.直接回车确认表示使用默认值
ssh-keygen -t rsa -C [github登录账号]
2.进入.ssh文件目录复制key粘贴至服务器端
cat id_rsa.pub
六、推送到Heroku
1.登录Heroku:
heroku login
2.创建空项目:
heroku create
3.推送:
git push heroku master
4.核实正确地启动了服务器进程:
heroku ps
5.在浏览器中打开该应用程序:
heroku open
6.创建对用户友好的URL:
heroku apps:rename learning-log
7.删除项目:
heroku apps:destroy --app appname