git安装
1. 百度搜索git for windows
2. 检测有没安装成功在cmd里输入git回车见到一堆英文就成功了
配置用户名和邮箱
git config --global user.name "Mr159"
git config --global user.email "1594341780@qq.com"
查看配置git config --list
git常用命令
* 初始化git init
* 查看状态git status
* 添加到暂存区git add +添加的目录或文件
* 分支git commit -m "备注"
* 查看修改状态git log或git reflog
整洁一点:git log --pretty=oneline
退出按q键
* 不想上传远程的文件放在:.gitignore文件里
npm init -y 是下载package.json文件
登录github并创建远程仓库
1. 创建仓库 new repository里面
2. 在本地生成公钥和密钥 ssh
ssh-keygen -t rsa -b 4096 -C "your_email@example.com"
id_rsa 是密钥
id_rsa.pub 是公钥 。复制到远程ssh
如何查看自己的公钥:1.cd ~/.ssh
2.cat id_rsa.pub
3.连接远程
git remote add origin 远程仓库地址
例如:
git remote add origin(git@github.com:Mr159/xin_project.git)
查看是否连接:git remote -v
或: ssh -T git@github.com
如果报错git remote rm origin(删除) 再连接
4.推送连接
推送:本地-->远程
git push origin master -u
拒绝,报错就往下执行
拉下来:远程-->本地
git pull origin master (不行就继续往下)
拉取远程所有分支
git fetch origin
查看远程分支:git branch -r
查看所有分支:git branch -a(包括本地和远程)
git rebase origin/master
再推送git push origin master
** 如果出现master -> master (non-fast-forward)这个错误
git push --force https://github.com/Mr159/mixian-front.git来解决
5.从远程获取本地文件方法
1. github里创建项目
2.git clone git@github.com:Mr159/xin_project.git
3.然后在这个项目下创建新的文件
git历史管理(历史回退)
1. 放弃工作区的修改:git checkout -- 要放弃修改的文件
2. 放弃暂存区的修改:git reset HEAD 要回退的文件
3. 回退分支版本:git reset --hard +commit_id
查看修改状态git log
git log --pretty=oneline
git reset --hard +commit_id
想获取之前的id就用:git reflog
再输入想回退的id:git reset --hard +commit_id
说明:用git reset 回退到以前的某个版本,也可以回复到现在的版本
所谓版本:即用git commit一次就是一个版本
git分支管理
默认git仓库只有一个master主分支
master:通常用于发布产品的分支
dev:开发分支
bug:修复bug的分支
feature:添加新功能分支
1. 查看分支:git branch
*当前分支
2. 创建分支:git branch 分支名
3. 切换分支:git checkout 要切换的分支名
4. 创建并自动切换到创建的分支上:git checkout -b 分支名
5. 合并分支:git merge 要合并的分支名
如果出现合并冲突有以下选择点:
1 Accept Current Change :选择当前的
2 Accept Incoming Change :选择外来的的
3 Accept Both Changes :两个都选
4 Compare Changes
6. 把本地分支提交到远程:git push origin 要提交的本地分支
7. 删除本地分支:git branch -d 分支名(当前分支不能删除)
没有合并的分支用 -D 来删除
8. 删除远程分支:git push origin :要删除的远程分支名
注意:添加当前分支与远程跟踪:例如:当前分支是dev
格式:git branch --set-upstream-to=origin/远程分支名
例如:git branch --set-upstream-to=origin/dev
tag管理
项目发布的版本的管理:releases
查看tag:git tag
添加tag:git tag tag名称
例如:git tag v0.0.1
给指定的commit_id添加tag版本:git tag tag名 +commit_id
例如:git tag v0.0.2 af125fd
删除本地tag: git tag -d 要删除的tag名
推送tag到远程 : git push origin v0.0.1
删除远程tag: git push origin :v0.0.1
git协作开发
协作开发分两种:
一. 国际化开发: 主要利用pull Request请求,代码讨论,审核,最后由 负责人合并
步骤:1. 先找到开源项目,再fork到自己的仓库
2. 克隆到本地 git clone git@github.com:Mr159/d2-crud.git
3. 修改代码
4.推送到自己的远程仓库
5. New pull Request
6. Create pull request
二.自由开发
我们公司由五个人同时开发一个项目,大佬建好仓库后叫我们统一提交到dev这个分支,我的分支是hardy,你们只要将这两个值改成你们团队协作中使用的分支即可。代码如下:
1、git add .
加入缓存
2、git commit -m "完成移动端数据填充"
提交到本地仓库
3、git push
提交到远程仓库
4、git checkout dev
切换分支
5、git pull
拉去分支代码(注意:如果出现冲突需要手动解决冲突并执行1,2,3步骤)
6、git checkout hardy
切换分支
7、git merge dev
合并代码
8、git push origin hardy:hardy
提交到远程库hardy分支
9、git push origin hardy:dev
提交到远程库dev分支
如何用可视化工具来操作git(即不用命令,用软件操作)
* git GUI
* sourcetree
* vs code
使用git做静态网站
一. 项目方式(Project site)
1. 项目中创建docs文件夹
2. 找到settings
3. 下滑找到 github pages
4. 选择source下的master branch/docs folder
5. source上面会生成一个地址 这个地址就是我的静态页面
二. 公司组织方式(User or ganization site)
创建一个新仓库:
仓库名必须是:用户名.github.io(死规定的)