团队开发git使用各种问题
参考:https://www.cnblogs.com/schaepher/p/4933873.html
问题-3:保持github上项目干净,对于在不同机器上运行会不同的文件不予维护(如.idea/workspace.xml)
建议:对于项目输出在项目目录中的文件不予维护
对于IDE自动生成且与项目所在目录有关的文件不予维护
将这些文件全都ignore之后可以呼叫队友来克隆项目验证一下
问题-2:不想用命令行
windows下我们使用idea开发,idea是可以配置git的
参考https://jingyan.baidu.com/article/922554466dcecb851748f464.html
问题-1:作死建议
如果想尝试一些容易导致很多错误的操作(比如和队友代码合并)
可以先再当前分支基础上新建test分支,然后进行测试
测试失败直接删掉测试分支,测试成功就merge一下或者回到原来分支重现操作即可
问题0:我们的github维护准则
由一人建立主仓库,并同时建立develop分支,主仓库下有了master和develop分支
然后每个开发者fork主仓库拥有自己的仓库,自己的仓库除了master分支,自己再建立一个dev分支用于开发
当个人dev分支稳定之后,可以把自己的dev分支合并到自己的master分支
当master分支基本完成一些功能后,把自己的master分支pull给主仓库的develop分支
主仓库的develop分支运行稳定后,把develop分支合并到主仓库的master分支
主仓库的master分支就是我们运行稳定的发布版本
问题1:切换分支命令忘记了
使用 git checkout master 即可切换到master分支
问题2:.idea/workspace.xml文件会记录本地相关内容,合并时会引起冲突
解决方法:忽略该文件,根目录下打开 git Bash
notepad .gitignore 创建.gitignore文件
在该文件下输入要忽略的文件 .idea/workspace.xml
然后把修改push到远程仓库,打开远程仓库,发现因为我们忽略了workspace.xml文件
所以我们的远程仓库都已经没有workspace.xml了
如果之前已经手滑提交到远程仓库了,那么我们只修改.gitignore文件是不够的
需要本地 git rm --cached <filename> 把忽略的文件删掉(不需要打尖括号!!!)
再push到远程仓库就可以了
问题3:git push不能直接使用/如何把我的代码同步到我自己的远程仓库上
解决方法:
git push origin HEAD 是把当前分支push到我们自己的远程仓库对应的分支
一般来说本地master分支都对应远程仓库的master分支
其他分支,如果建立分支的时候有明确对应哪个远程分支,那么是可以的
如果没有明确,那么改命令会运行失败
使用 git push origin HEAD:develop 指定push到哪一个远程分支即可
(目前我不确定会不会出现权限问题,应该不会,我猜)
问题4:如何把我自己的dev分支合并到我自己的master分支上
解决方法:切换到master分支
然后 git merge dev
会把指定分支合并到当前分支,无冲突的话会自动合并完成
问题5:如何把我自己代码推送给源仓库/主仓库
解决方法:参考一开始的链接里的描述,发送pull request
等待对方同意合并或给你其他反馈
问题6:如何把源仓库/主仓库的代码同步到我的本地
解决方法:参考一开始的链接里的描述,设置好upstream
git fetch upstream 即可获取团队项目最新版本
比如我想要把主仓库的develop分支合并到我的dev分支
那么切换到自己的dev分支,然后git merge upstream/develop即可
问题7:如何删除本地分支
解决方法:git branch -d 要删除的分支名字
问题8:github项目克隆到本地后找不到master外其他分支
解决方法:git checkout -b 本地分支名字 origIn/dev
即可让新建的本地分支继承远程仓库的dev分支
问题9:我在开发分支下作死了现在有好多冲突我不想一个一个改想回退到之前的版本
解决方法:git log 查看git日志
然后找到想要回退到版本 git reset --hrad xxxxx(版本号前5位)
参考:https://www.liaoxuefeng.com/wiki/896043488029600/897013573512192
问题10:我在本地新建了分支,想让他对应到我一个远程分支,怎么操作
解决方法:git branch --set-upstream-to=origin/remote_branch local_branch
关联之后,直接git push就会推送到关联的远程分支了
团队开发git使用各种问题的更多相关文章
- Git搭建团队开发环境操作演练
模拟创建远程git仓库 1.首先创建如下目录结构: /Users/hujh/Desktop/GitTest2/GitServer/weibo weibo是我们要创建的项目 2.切换目录 $ cd /U ...
- GIT团队开发操作
01. 建立代码仓库(专门用于团队开发的代码仓库) ========================================================================== ...
- [.net 面向对象程序设计进阶] (27) 团队开发利器(六)分布式版本控制系统Git——在Visual Studio 2015中使用Git
[.net 面向对象程序设计进阶] (26) 团队开发利器(六)分布式版本控制系统Git——在Visual Studio 2015中使用Git 本篇导读: 接上两篇,继续Git之旅 分布式版本控制系统 ...
- [.net 面向对象程序设计进阶] (26) 团队开发利器(五)分布式版本控制系统Git——图形化Git客户端工具TortoiseGit
[.net 面向对象程序设计进阶] (26) 团队开发利器(五)分布式版本控制系统Git——图形化Git客户端工具TortoiseGit 读前必备: 接上篇: 分布式版本控制系统Git——使用GitS ...
- [.net 面向对象程序设计进阶] (25) 团队开发利器(四)分布式版本控制系统Git——使用GitStack+TortoiseGit 图形界面搭建Git环境
[.net 面向对象程序设计进阶] (25) 团队开发利器(四)分布式版本控制系统Git——使用GitStack+TortoiseGit 图形界面搭建Git环境 本篇导读: 前面介绍了两款代码管理工具 ...
- webstorm git团队开发技巧总结(一)
---恢复内容开始--- 1.git查看和修改用户名,邮箱 用户名和邮箱地址是本地git客户端的一个变量,不随git库而改变.每次commit都会用用户名和邮箱记录. (1)查看用户名和地址 git ...
- git 团队开发常用操作流程(适用于 gogs、gitlab、github)
git 团队开发常用操作流程(适用于 gogs.gitlab.github) NO1 项目构建者 (1)在远程仓库创建仓库 (2)将伙伴添加到仓库合作者中(无先后要求) (2)cd 到项目将要存放项目 ...
- mvn 的 provided 以及 test等等 还有git团队开发技巧
mvn 的 provided 以及 test等等 还有git团队开发技巧
- Eclipse集成Git做团队开发:分支管理
在日常开发工作中,我们通常使用版本控制软件管理团队的源代码,常用的SVN.Git.与SVN相比,Git有分支的概念,可以从主分支创建开发分支,在开发分支测试没有问题之后,再合并到主分支上去,从而避免了 ...
随机推荐
- 0626-TP整理二(调试模式,空操作,跨控制器调用,跨方法跳转--redirect(),框架语法,创建model模型)
一.调试模式(入口文件:index.php) define('APP_DEBUG', true); //调试模式 define('APP_DEBUG', FALSE); //运行模式 开启日志信息 ...
- 搞定springboot项目连接远程服务器上kafka遇到的坑以及完整的例子
版本 springboot 2.1.5.RELEASE kafka 2.2 遇到的坑 用最新的springboot就要用最新的kafka版本! 当我启动云服务器上的zk后,再启动kafka后台日志也没 ...
- 《Maven实战》(许晓斌)导读(读书笔记&第二次读后感)
第一章 Maven简介 Maven是构建工具,但同时还是jar包管理工具.项目信息管理工具 与Make.Ant比较,更为先进 第二章 Maven的安装和配置 Windows和Unix上安装都很简单,下 ...
- spring controller接口中,用pojo对象接收页面传递的参数,发现spring在对pojo对象赋值时,有一定顺序的问题
1.我的项目中的实体类都继承了基类entityBase,里面封装了分页的一些属性,pageindex.pagesize.pagerownum等. 2.思路是页面可以灵活的传递分页参数,比如当前页pag ...
- ASP.NET MVC 生成验证码
using System.Web.Mvc; using System.Drawing; using System; using System.Drawing.Imaging; using Models ...
- MySql 同表复制数据 可以改变数据
Mysql语法: INSERT INTO 表名 (字段) SELECT 字段 FROM 表名 WHERE 条件: 如果要修改其中某一个字段,在查询语句中:x(要改变的值) as 字段名. eg: IN ...
- 利用freemarker导出页面格式复杂的excel
刚开始大家可能会利用poi生成简单的excel,但是遇到需要生成复杂的excel,poi导出excel就比较困难,这时候可以利用freemarker来渲染实现实现生成复杂的excel, 首先,将exc ...
- 简单js图片点击向左滚动
<style> .b_left{width:50px;height:75px;float:left;background:url(img/left_right.png) no-repeat ...
- duilib属性
原文转载自:http://blog.csdn.net/lixiang987654321/article/details/45008441 这里我想讲解一下duilib中的一些属性的理解,当然这是一篇永 ...
- Android O 通知栏的"running in the background"
Android O新增的一个特性,系统会在通知栏显示当前在后台运行的应用,其实际是显示启动了前台服务的应用,并且当前应用的Activity不在前台.具体我们看下源码是怎么实现的. 1 APP调用sta ...