一 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命令与协同开发的更多相关文章

  1. Pull Request的过程、基于git做的协同开发、git常见的一些命令、git实现代码的review、git实现版本的管理、gitlab、GitHub上为开源项目贡献代码

    前言: Pull Request的流程 1.fork 首先是找到自己想要pull request的项目, 然后点击fork按钮,此时就会在你的仓库中多出来一个仓库,格式是:自己的账户名/想要pull ...

  2. Visual Studio C# 利用git和github协同开发时产生冲突的解决办

    Visual Studio C# 利用git和Github协同开发时产生冲突的解决办法 前言:在前两天的助教作业中,发现了自己没有办法解决在用vs开发C#的窗体项目的过程中产生的冲突问题,在查阅了资料 ...

  3. 【转】Git 教程之协同开发

    前面我们已经介绍过远程仓库的相关概念,不过那时并没有深入探讨,只是讲解了如何创建远程仓库以及推送最新工作成果到远程仓库,实际上远程仓库对于团队协同开发很重要,不仅仅是团队协同开发的基础,也是代码备份的 ...

  4. Git分支及其协同开发

    目录 Git分支 Git是如何保存数据的 Git分支的本质 Git分支的操作 远程仓库与本地仓库分支开发 一个项目多个远程仓库 远程仓库操作命令 协同开发 Git flow工作流 GitLub安装搭建 ...

  5. git 多人协同开发

    一.允许他人操作程序(两种方式) 1.添加合作者 2.创建组织 二.分支 每个开发者创建一个属于他们的dev分支 三.合并规则 1.一起合并(代码会出现冲突) 2.尽量缩短合并的周期

  6. 用Git进行协同开发

    用Git进行协同开发 问题场景描述 常常会遇到这样的协同场景:后台的同事和前端的同事需要共同开发一个新功能,而他们的代码相互依赖,所以需要不停地更新各自的代码进行联调. 对于这种场景,最简单的方式就是 ...

  7. 使用git和github进行协同开发流程

    (本文假设各位已经对基本git的基本概念.操作有一定的理解,如无相关git知识,可以参考Pro Git这本书进行相关的学习和练习) 很多项目开发都会采用git这一优秀的分布式版本管理工具进行项目版本管 ...

  8. 项目管理---git----快速使用git笔记(六)------本地开发与远程仓库的交互----常用git命令

    无论是我们自己把本地的项目新建了一个远程仓库 还是 从远程仓库获取到了 本地,现在我们都在本地有了一份项目代码,服务器上对应有项目代码的信息. 现在我们就开始进行交互操作了. 也就是说明一些在 正常开 ...

  9. android Git命令家底儿及Git数据通信原理详解

    声明:本文为CSDN原创投稿文章,未经许可,禁止任何形式的转载. 现在大部分使用的都是SVN,也有一部分迁移了Git,虽然挺好的,不过还有其它很多版本控制的工具,并没有谁最好用,最重要的是适合自己的公 ...

随机推荐

  1. libubox-runqueue

    参考:libubox [4] - uloop runqueue ustream 任务队列是通过uloop定时器实现,把定时器超时时间设置为1,通过uloop事件循环来处理定时器就会处理任务队列中的ta ...

  2. C#非常规调试场景总结

    场景1:类库独立调试.          方法:可以将类库项目修改成控制台程序,然后增加一个静态的main函数的方式来调试 场景2:程序需要连接数据库,本机调试的时候因为权限问题无法连接上数据库,只能 ...

  3. liunx下安装eclipse

    1.eclipse-jee-mars-1-linux-gtk-x86_64 下载地址:http://download.csdn.net/download/yichen01010/10018917 2. ...

  4. OracleHelper.cs

    using System;using System.Collections.Generic;using System.Linq;using System.Text; using System.Conf ...

  5. URL编码,空格和+

    下表中列出了一些URL特殊符号及编码 + URL 中+号表示空格 %2B 空格 URL中的空格可以用+号或者编码 %20 / 分隔目录和子目录 %2F ? 分隔实际的URL和参数 %3F % 指定特殊 ...

  6. 【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 ...

  7. 【Raspberry Pi】crontab 定时任务

    在linux上做定时任务一般用crond 两种方法上文已列,但昨天写的crond命令却一直都没有运行,上网查,有说是环境变量的,也有说是时间问题的,都改过,但还没有效. 今天再次认真读了一遍cront ...

  8. Laravel的学习网站推荐

    Laravel官网 网址是:https://www.laravel.com,里面有优质的教程和文档 只不过是英文的. Laravel学院 网址是:http://laravelacademy.org/, ...

  9. nginx https配置+nginx跳转到万网虚拟主机

    server { listen 443 ssl; server_name www.104dh.com 104dh.com; ssl on; ssl_certificate cert104/152678 ...

  10. git base 简单命令行

    记录几个简单的命令 1:克隆-把线上的文件复制到本地 git clone 线上地址 2:检查状态 git status 3:放入待仓储 git add.文件名 git add * (全部文件,简单粗暴 ...