团队开发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有分支的概念,可以从主分支创建开发分支,在开发分支测试没有问题之后,再合并到主分支上去,从而避免了 ...
随机推荐
- bzoj 1672: [Usaco2005 Dec]Cleaning Shifts 清理牛棚【dp+线段树】
设f[i]为i时刻最小花费 把牛按l升序排列,每头牛能用f[l[i]-1]+c[i]更新(l[i],r[i])的区间min,所以用线段树维护f,用排完序的每头牛来更新,最后查询E点即可 #includ ...
- (DP)51NOD 1118 机器人走方格
M * N的方格,一个机器人从左上走到右下,只能向右或向下走.有多少种不同的走法?由于方法数量可能很大,只需要输出Mod 10^9 + 7的结果. Input 第1行,2个数M,N,中间用空格隔开.( ...
- LOGO免费在线设计
http://www.logomaker.com.cn/ 藏经阁技术资料分享群二维码
- 洛谷 P2881 [USACO07MAR]排名的牛Ranking the Cows
题应该是假的...先不做了 https://www.cnblogs.com/Blue233333/p/7249057.html 比如输入5 0,答案是10,但可以比较8次就出来.就是在一个已知有序数列 ...
- ActiveMQ应用
一. 概述与介绍 ActiveMQ 是Apache出品,最流行的.功能强大的即时通讯和集成模式的开源服务器.ActiveMQ 是一个完全支持JMS1.1和J2EE 1.4规范的 JMS Provide ...
- DecorView 的创建
在Activity 的启动过程中,调用ActivityThread 的handleResumeActivity 方法时,先得到一个与Activity 关联的PhoneWindow 对象,然后通过Pho ...
- 利用反射重写toString()方法
为了方便输出对象,Object类提供了toString()方法.但是该方法的默认值是由类名和哈希码组成的,实用性并不强.通常需要重写该方法以提供更多的信息.本实例使用反射输出类的包.类的名字.类的公共 ...
- Protocol(协议)
Protocol(协议) (一) (1)简介 1.Protocol:就一个用途,用来声明一大堆的方法(不能声明成员变量),不能写实现.看起来类似于一个类的接口, 不同的是协议没有父类,也不能定义实例变 ...
- struts2配置文件加载顺序
struts2配置文件加载顺序: struts-default.xml/ struts-plugin.xml/ struts.xml/ struts.properties/ web.xml
- RabbitMQ系列(一)--消息中间件MQ如何去选择
MQ在项目中的应用很普遍,本人所在项目组使用的是ActiveMQ,但是后面介绍的RabbitMQ... 一.应用场景 1.异步处理 2.流量削峰.秒杀 3.日志处理,推荐kafka 4.应用解耦 二. ...