公共技术:
H5、C3:基本上公共;后台会看懂,前端会精通,精通到纳米级别;
Sql:数据库;前端 CRUD;后端查询、存储过程 分库分表等等;
linux:前后端要会了解基本的命令;用的最多的运维;上线了,运作+维护 12306
git:公共的技术点;
git 命令操作总结
git: 分布式 版本 控制工具 (项目代码的维护管理 以及 团队协作开发,项目的历史版本穿梭 互相分享共享)
GitHub 平台 全球国际化平台网站: GitHub.com 程序员交友平台(基友平台)有名的框架和库 都在github有自己的官方存储 (源码)
国内 码云 give.com 中文版
SVN & GIT 版本控制工具
1.安装git
-
linux(Ubuntu) : sudo apt-get intall git
终端输入git 如果有提示证明安装成功
-
window版本===》git软件工具—-安装 powershell cmder git bash
-
Mac Os—-terimal (自带终端) 第三方的终端工具 iterm2
2.git简介
-
git ——分布式的版本控制工具
现代化的代码版本控制工具 git svn 作用:对你的代码/项目的版本进行管理 (版本的更新 历史记录 回滚 删除的文件 多人协作 gitlab 公司内部服务器上搭建的版本控制系统 (git) github:全球级别的社交网站(git版本控制系统+程序猿交友平台 互相分享和学习对方代码) 号称 全球最大的基友平台 很多全世界范围优秀的框架和库 都在github有 官方存储的仓库 开源:github是一个网站 (git) 开源的生态系统:Android git svn 是两种不同的代码版本控制方式 git:分布式的版本控制系统 svn:集中式的版本控制系统
2.git单人操作
-
2.1 创建空的git仓库: git init
仓库:放置我们项目的地方,本地仓 远程仓
会看到git隐藏的目录,有我们操作的配置信息等
提示: git仓库和项目的根路径在一起,用来管理项目
-
2.2 配置git提交的用户名,邮箱或config --global 全局,邮箱保持一致
-
git config user.name 'zhangsan' 当前目录
例如: git config --global user.name 'zhangsan' --global 全局,整个系统
邮箱注册:远程仓库保持一致
git config --global user.email '[email protected]'
-
2.3 查看文件状态: git status
工作区:理解为当前仓库项目,工作的地方
暂存区:???
红色: 表示新建文件, 或者新修改了文件,目前位于工作区中
绿色: 表示文件在暂存区
-
2.4将工作区代码, 添加到暂存区(工作区-->暂存区)
-
例如: git add . 注意此处
git add xxx.html
点表示添加所有变动, xxx.html表示指定文件
-
2.5将工作区代码,添加到仓库区(暂存区—>仓库区)
-
例如: git commit -m 'first'
-
2.6将工作区,直接添加到仓库区(工作区-->暂存区—>仓库区)
-
例如: git commit -am '注释信息'
-
2.7查看版本历史
例如: git log 查看版本的详细信息
git reflog 查看版本的大致信息
log查看详细信息, reflog查看简要信息
-
2.8回退版本
例如: git reset --hard HEAD
或者: git reset --hard 版本号
HEAD表示当前最新版本
HEAD^表示当前最新版本的, 上一个版本
HEAD^^表示当前最新版本的, 前两个版本, 依次类推
HEAD~1 表示当前最新版本的, 上一个版本
HEAD~2 表示当前最新版本的, 前两个版本, 依次类推
-
2.9撤销工作区,暂存区修改
文件从暂存区撤销到工作区: git checkout 文件名
撤销暂存区:
git checkout HEAD 文件名 (暂存区-工作区)
仓库区代码不能撤销
-
2.10 版本对比
例如: git diff HEAD HEAD^ -- xxx.py
HEAD表示当前版本, HEAD^表示上个版本, xxx.html对比的文件
-
2.11误删除文件,恢复
这个是提交之后还存在于本地;
格式1: rm --cached 测试文件名
恢复1: git checkout -- 文件名
提交之后,就删除了
万一 误入到linux(git 操作命令里面)界面,退出,方案退出:shift+;
左下角出来:wq! 或者qa!退出。
格式2: git rm 文件名
恢复2: git reset --hard HEAD^
// 将我本地的代码目录 和 远程的github仓库 建立起连接 并且推送代码到网站平台当中
// 1 github 注册好账号 登陆进去
// 2 建立一个仓库 不用初始化设置 readme.md 协议
// 3 在本地项目当中执行以下命令
git remote add origin [email protected]:ZaGCool/fe11_demo.git
git branch -M main
git push -u origin main
3.git多人操作
-
3.1 clone项目到本地
例如: git clone 项目地址
-
3.2 推送项目到远程仓库
push 推
sz666
提交: git push ‘远程仓库地址' 本地仓库名
远程仓库名比较长;
git remote add '别名' 远程仓库地址
git push 别名 本地主分支
第一次推送会提示输入账号, 密码
-
3.3 配置是否输入登陆密码信息
git config --global credential.helper cache 十五分钟有效期
git config credential.helper 'cache --timeout==3600' 一个小时有效期
git config --global credential.helper store 长期有效
-
3.4 拉取远程最新代码到本地
现在用的是github,用gitee,区别是什么???
例如: git pull 远程仓库名|别名 本地仓库名
4.标签
-
4.1 设置本地标签
例如: git tag -a 标签名 -m '标签描述'
-
4.2 推送本地标签到远程
例如: git push origin 标签名
-
4.3 删除本地标签
例如: git tag -d 标签名
-
4.4 删除远程标签
例如: git push origin --delete tag 标签名
5.分支
-
5.1查看当前分支
例如: git branch
-
5.2创建本地分支,并切换到指定分支
git branch new分支
例如: git checkout -b 分支名
-
5.3推送本地分支,到远程
例如: git push -u origin 分支名
-
5.4切换分支
例如: git checkout main / dev
各个分支,提交自己的内容;
切换到主分支,或者是其他分支
其他用户第一次pull代码后,切换后才能使用git branch查看
-
5.5合并子分支到主分支 小王--dev 主管 dev开发好的代码==合并到主分支(master)
例如: git merge 分支
需要在master分支下操作该命令
合并之后git branch -d xx分支
么有合并删除git branchd -D xx分支
- 5.6存放到暂存区git stash;没有问题了,继续返回文件git stash pop;
多人解决冲突
多人协作解决冲突
在github上添加多人协作,Collaborators==》添加账号
当push的时候发现冲突
一 git fetch: 同步过来远端文件
然后可已查看 并且可以手动合并
然后在进行提交 ,再push到远端=( git push origin main 同步到远程的仓库)
git diff main origin/main 查看
git merge origin/main 合并一下,之后再取舍,在进行一次提交
git fetch
git diff main origin/main
git merge origin/main -m ""
改完之后在push
二 git pull origin master 拉取过来之后直接合并
cd ~/.ssh
ls 或者 ll
看是否存在 id_rsa 和 id_rsa.pub文件,如果存在,说明已经有SSH Key
ssh-keygen -t rsa -C "[email protected]"
cat id_rsa.pub
//拷贝秘钥 ssh-rsa开头
新建一个SSH Key
取个名字,把之前拷贝的秘钥复制进去,添加就好啦。
验证: ssh -T [email protected]
之前已经是https的链接,现在想要用SSH提交怎么办? 直接修改项目目录下 .git文件夹下的config文件,将地址修改一下就好了
github ===> 新建仓库
本地: git clone https://github.com/ZaGCool/jd_demo.git
忽略文件的设置 git目录下 新建一个隐藏文件 .gitignore ==>里面写上你不想提交到github的文件名称或者目录名称
添加一个README.md 说明md文件 会在github上面直接显示
每天下班 push
每天上班 先pull 拉过来
解决冲突 git fetch / git pull
标签:总结,HEAD,git,--,命令,github,版本,push
From: https://blog.51cto.com/teayear/7967368