gitlib 拉本地代码 推远程代码 各种问题解决方案
1.本地gitbash的操作
1、git init
2、git add .
3、git commit -m "添加你的注释,一般是一些更改信息"
4、git remote add origin HTTPS链接
5、git pull origin master
6、git push origin master
其中第六步可能出现的错误
![](https://img.haomeiwen.com/i3484821/1b018418b836afa6.png)
解决方式*
![](https://img.haomeiwen.com/i22651072/3fe6e980890e0657.png)
2.对于分支的相关操作
创建新的分支
git checkout -b branch
删除分支
![](https://img.haomeiwen.com/i22651072/0a2d728f628aebf0.png)
![](https://img.haomeiwen.com/i22651072/a8954bbc9c9a38fc.png)
撤销分支操作
git reset --hard
将删除的分支复原撤销
git reflog 查看你上一次 commit SHA1值
git branch branchName
查找分支
git branch
切换分支
git checkout branch
推送源分支
git push origin branchname
合并主分支
git merge master
在远程拉下来本地代码
git push origin branchname
日志打印尾部实时更新日志
ail -f /var/log/modesens/debug.log
3.Git工作流
集中式工作流
便于快速开发。
基于里程碑新建一个分支,此分支没有权限,所有组员都可以直接提交,省去merger过程,开发快。
每个功能的实现都新建一个issue,但是不用再创建新的分支进行开发,只是在每个issue开发的提交日志中关联一下issue即可。(要记得关联issue)
麻烦点的也可以新建分支然后字节merger。
Git-flow工作流
可以用于整个工程的版本维护。
两个主要分支:master分支和develop分支。
有新的需求时(新建一个里程碑),基于develop创建一个分支(feature分支),在此分支上开始创建议题进行开发,开发完之后合并到develop分支。(feature分支开发时根据实际情况选用集中式开发、Git-flow和fork工作流)
如果功能开发完了,需要提交一次测试,那么就基于develop分支创建一个新分支(release分支)然后提交测试,测试完成后将release分支合并到master分支。
如果master分支在现场运行中出现了问题,需要修复,那么就直接基于master分支新建一个hotfix分支进行问题修复,改完后合并到master分支和develop分支。
![](https://img.haomeiwen.com/i14616778/bd91633788229ac5.png)
fork工作流
通常是开源代码选用的方式,缺点是提交merger请求后不能拉取新修改的内容,不方便代码审核。
使用方法
建里程碑;
建议题;
如果采用集中式工作流:
开发人员在本地建分支进行开发(注意提交时关联议题#issues);
直接推送。
如果采用git-flow工作流:
在本地创建分支提交,或者在issues下创建分支拉取;
开发完提交,然后创建merger请求。
4.在远程拉取本地代码
往远程推送git项目的时候的命令用的是putty
远程建立分支 git fetch origin col_change
切换分支 git checkout col_change
查看状态 git status
往远程拉代码 git pull origin col_change rm -rf 文件名称
进行在本地网远程拉代码的命令
git pull origin col_change
5.强制切换分支
1.回退版本:
gitlog
gitreflog
然后执行
gitreset--hard 后面是版本号
2.分支的全部命令
查看本地分支:$ git branch
查看远程分支:$ git branch -r
创建本地分支:$ git branch [name] ----注意新分支创建后不会自动切换为当前分支
切换分支:$ git checkout [name]
创建新分支并立即切换到新分支:$ git checkout -b [name]
删除分支:$ git branch -d [name] ---- -d选项只能删除已经参与了合并的分支,对于未有合并的分支是无法删除的。如果想强制删除一个分支,可以使用-D选项
合并分支:$ git merge [name] ----将名称为[name]的分支与当前分支合并
创建远程分支(本地分支push到远程):$ git push origin [name]
删除远程分支:$ git push origin :heads/[name]
从gitlib项目上的分支向本地用gitbash拉取代码
拉取命令 git fetch origin branch
切换分支 git checkout shopify