git命令与协同开发
一 git命令
1.简单命令
git init # 初始化 (建立git 版本相关文件关系都放这里) git config --global user.email "you@example.com"
git config --global user.name "Your Name" # 配置用户 git add . # 当前所有文件夹和所有文件文件加入版本库
- .是指所有文件夹下所有文件
- add templates/index.html 添加指定的文件夹 git commit -m “命名名称” #提交到版本库
- 注意:命名名称不能随便命名 要结合实际 以便以后查找 git log # 查看当前所有版本
git reset --hard 版本号 # 回滚到当前版本号的版本 git reflog # 显示回滚前的所有版本
git reset --hard 版本号 # 回滚到当前版本号的版本 git status # 查看当前版本改动的状态 ls (linux命令) #查看当前所在目录下的所有文件 cd a.py 切入文件夹 cd.. 退回到上一层目录 git tauch a.py 创建空的文件 mkdir 目录名称 创建目录 vim a.py 编辑文件
- 点i后 进入编辑模式 可以进入编写
- 点ESc 在输入:w 表示保存不退出退出
- 点Esc 在输入:wq 保存文件并退出 ###分支命令
git branch 分支名称 # 创建分支
git branch # 查看当前所有分支 git branch -d dev # 删除分支dev git checkout 分支名称 # 切换分支 (修改过代码后 切换分支需要先提交一下代码 否则报错) git merge dev 分支合并 (合并时 在哪个分支下 代码就会合并在哪个分支)
2. Git把管理的文件分为了两个区域四个状态。
区域:
工作区:
原内容
修改过的内容 # git status 查看状态
版本库
暂存 # git add . 将修改内容加入暂存状态(通过 status 查看状态 颜色为绿色)
分支 # git commit -m “版本名称” 将暂存状态改为分支
b. 紧急bug修复方法:
方法一:stash (了解)
git stash 将当前工作区的修改过的代码暂存到某个地方中 按照原来代码继续开发...
git add .
git commit -m '修改完成' git stash pop
- 不产生冲突
- 产生冲突,手动去解决 git stash 将当前工作区所有修改过的内容存储到“某个地方”,将工作区还原 到当前版本未修改过的状态
git stash list 查看“某个地方”存储的所有记录
git stash clear 清空“某个地方”
git stash pop 将第一个记录从“某个地方”重新拿到工作区(可能有冲突)
git stash apply 编号 将指定编号记录从“某个地方”重新拿到工作区(可能有冲突)
git stash drop 编号 ,删除指定编号的记录 方法二:创建分支(重点学习 面试题) moster # 默认分支 (线上版本分支 不允许修改) dev # 开发分支 bug # 修改bug分支 (创建分支时复制的代码是所在分支的代码) git branch 分支名称 # 创建分支
git branch # 查看当前所有分支 git branch -d dev # 删除分支dev git checkout 分支名称 # 切换分支 (修改过代码后 切换分支需要先提交一下代码 否则报错) git merge dev 分支合并 (合并时 在哪个分支下 代码就会合并在哪个分支) 修复Bug流程:
git branch dev
git checkout dev # 写代码
git add .
git commit -m 'xxx' git checkout master
git branch bug
git chekcout bug # 修复bug
git add .
git commit -m '紧急修复bug' git checkout master
git merge bug git branch -d bug git checkout dev
# 继续开发
二 使用github版本管理软件
1 .把代码从github上拿下来方法:
方法一:
下载
方法二:
git clone 地址
方法三:
git init
git remote add origin
git pull origin master #与git pull origin master相同
git fetch origin master
git merge origin/master
2 . 流程
家里:
git add .
git commit -m 'xx' git remote add origin https://github.com/WuPeiqi/greenlu.git git push origin master # 将代码提交到github上 公司: # 新公司第一次获取代码
方式一:
git clone https://github.com/WuPeiqi/greenlu.git 方式二:
git init
git remote add origin https://github.com/WuPeiqi/greenlu.git
git pull origin master # 直接将代码拉下来到工作区 方式三:
git init
git remote add origin https://github.com/WuPeiqi/greenlu.git
git fetch origin master
git merge origin/master # 日后 (clone一次后 以后再拿代码可以直接执行下面代码,
应用场景:在家里或公司写好代码未上传 在另一地继续写) 方式一:
git pull origin master #直接将代码拉下来到工作区 方式二:
git fetch origin master # 只是单纯的将master下载下来
git merge origin/master
方式三:
git rebase origin/master # 与merge功能相同 应用场景:多人开发 分支较多时 git add .
git rebase --continue *** cat a.py # 查看文件内容 问题:在公司写完代码忘了提到github上 回到家后继续写代码 写完提到github 怎么合并代码
解决方案:把在家写的代码拉下来 解决冲突 保存即可
三 合并开发
# 多分支开发流程
master (线上分支)
dev (测试)
review 合并开发分支(一般一两天合并一下分支代码并由老大审核完代码后再合并到dev)
bb (个人分支)
sk (个人分支)
wh (个人分支) - 协作开发
- 项目协作者
- 组织 -开发示例
- 到新公司后clone下代码
- 创建dev review 个人分支
- 切入个人分知后 开发新功能
- 一个小功能开发完后合并 切入review 合并前要pull一下review 这样可以拿到最新代码
- 合并后 push一下
git命令与协同开发的更多相关文章
- Pull Request的过程、基于git做的协同开发、git常见的一些命令、git实现代码的review、git实现版本的管理、gitlab、GitHub上为开源项目贡献代码
前言: Pull Request的流程 1.fork 首先是找到自己想要pull request的项目, 然后点击fork按钮,此时就会在你的仓库中多出来一个仓库,格式是:自己的账户名/想要pull ...
- Visual Studio C# 利用git和github协同开发时产生冲突的解决办
Visual Studio C# 利用git和Github协同开发时产生冲突的解决办法 前言:在前两天的助教作业中,发现了自己没有办法解决在用vs开发C#的窗体项目的过程中产生的冲突问题,在查阅了资料 ...
- 【转】Git 教程之协同开发
前面我们已经介绍过远程仓库的相关概念,不过那时并没有深入探讨,只是讲解了如何创建远程仓库以及推送最新工作成果到远程仓库,实际上远程仓库对于团队协同开发很重要,不仅仅是团队协同开发的基础,也是代码备份的 ...
- Git分支及其协同开发
目录 Git分支 Git是如何保存数据的 Git分支的本质 Git分支的操作 远程仓库与本地仓库分支开发 一个项目多个远程仓库 远程仓库操作命令 协同开发 Git flow工作流 GitLub安装搭建 ...
- git 多人协同开发
一.允许他人操作程序(两种方式) 1.添加合作者 2.创建组织 二.分支 每个开发者创建一个属于他们的dev分支 三.合并规则 1.一起合并(代码会出现冲突) 2.尽量缩短合并的周期
- 用Git进行协同开发
用Git进行协同开发 问题场景描述 常常会遇到这样的协同场景:后台的同事和前端的同事需要共同开发一个新功能,而他们的代码相互依赖,所以需要不停地更新各自的代码进行联调. 对于这种场景,最简单的方式就是 ...
- 使用git和github进行协同开发流程
(本文假设各位已经对基本git的基本概念.操作有一定的理解,如无相关git知识,可以参考Pro Git这本书进行相关的学习和练习) 很多项目开发都会采用git这一优秀的分布式版本管理工具进行项目版本管 ...
- 项目管理---git----快速使用git笔记(六)------本地开发与远程仓库的交互----常用git命令
无论是我们自己把本地的项目新建了一个远程仓库 还是 从远程仓库获取到了 本地,现在我们都在本地有了一份项目代码,服务器上对应有项目代码的信息. 现在我们就开始进行交互操作了. 也就是说明一些在 正常开 ...
- android Git命令家底儿及Git数据通信原理详解
声明:本文为CSDN原创投稿文章,未经许可,禁止任何形式的转载. 现在大部分使用的都是SVN,也有一部分迁移了Git,虽然挺好的,不过还有其它很多版本控制的工具,并没有谁最好用,最重要的是适合自己的公 ...
随机推荐
- libubox-runqueue
参考:libubox [4] - uloop runqueue ustream 任务队列是通过uloop定时器实现,把定时器超时时间设置为1,通过uloop事件循环来处理定时器就会处理任务队列中的ta ...
- C#非常规调试场景总结
场景1:类库独立调试. 方法:可以将类库项目修改成控制台程序,然后增加一个静态的main函数的方式来调试 场景2:程序需要连接数据库,本机调试的时候因为权限问题无法连接上数据库,只能 ...
- liunx下安装eclipse
1.eclipse-jee-mars-1-linux-gtk-x86_64 下载地址:http://download.csdn.net/download/yichen01010/10018917 2. ...
- OracleHelper.cs
using System;using System.Collections.Generic;using System.Linq;using System.Text; using System.Conf ...
- URL编码,空格和+
下表中列出了一些URL特殊符号及编码 + URL 中+号表示空格 %2B 空格 URL中的空格可以用+号或者编码 %20 / 分隔目录和子目录 %2F ? 分隔实际的URL和参数 %3F % 指定特殊 ...
- 【Raspberry pi+python+mysql】红外传感器-发邮件-存数据库
1.mysql http://dev.mysql.com/doc/refman/5.5/en/tutorial.html mysql+python http://dev.mysql.com/doc/c ...
- 【Raspberry Pi】crontab 定时任务
在linux上做定时任务一般用crond 两种方法上文已列,但昨天写的crond命令却一直都没有运行,上网查,有说是环境变量的,也有说是时间问题的,都改过,但还没有效. 今天再次认真读了一遍cront ...
- Laravel的学习网站推荐
Laravel官网 网址是:https://www.laravel.com,里面有优质的教程和文档 只不过是英文的. Laravel学院 网址是:http://laravelacademy.org/, ...
- nginx https配置+nginx跳转到万网虚拟主机
server { listen 443 ssl; server_name www.104dh.com 104dh.com; ssl on; ssl_certificate cert104/152678 ...
- git base 简单命令行
记录几个简单的命令 1:克隆-把线上的文件复制到本地 git clone 线上地址 2:检查状态 git status 3:放入待仓储 git add.文件名 git add * (全部文件,简单粗暴 ...