一 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. socket编程头文件分析

    在socket网络编程中经常用到一些宏定义.结构和函数,这些经常包含在相关的头文件中,使用时直接include相关头文件即可.下面简单描述下相关的一些结构及头文件. 1. sockaddr  / bi ...

  2. libubox-blob/blobmsg

    大部分内容来自libubox [3] - BLOB BLOGMSG,推荐阅读原文. blob提供二进制数据处理能力.有几种支持的数据类型,并可以创建块数据在socket上发送.整型数字会在libubo ...

  3. Enable Authentication on MongoDB

    1.Connect to the server using the mongo shell mongo mongodb://localhost:27017 2.Create the user admi ...

  4. spring-boot启动注解@EnableAutoConfiguration

    springboot很多依赖插件是只要有依赖,就会读取相关配置,如果读取不到,就会使用默认的,可能会报错,但是又在项目中不好排除就可以使用 @EnableAutoConfiguration 注解.启动 ...

  5. table与html实例

    *{ margin:0; padding:0; list-style-type:none;/*手动清楚空隙*/ font-size:12px; font-family:"微软雅黑" ...

  6. 第二百二十八节,jQuery EasyUI,TreeGrid(树形表格)组件

    jQuery EasyUI,TreeGrid(树形表格)组件 学习要点: 1.加载方式 2.属性列表 3.事件列表 4.方法列表 本节课重点了解 EasyUI 中 TreeGrid(树形表格)组件的使 ...

  7. 你是怎么理解java的泛型的?

    解答: 在Java SE 1.5之前,没有泛型的情况的下,通过对类型Object的引用来实现参数的“任意化”,“任意化”带来的缺点是要做显式的强制类型转换,而这种转换是要求开发者对实际参数类型可以预知 ...

  8. Disillusioning #1 水题+原题赛(被虐瞎)

    https://vijos.org/tests/542c04dc17f3ca2064fe7718 好一场 水题 比赛啊 t1直接上暴力费用流10分QAQ,虽然一开始我觉得可以不用的,直接dfs可以得出 ...

  9. Page_ClientValidate 用法

    JS script function ConfirmMe(){   return confirm("Do you want to proceed?");} ASPX <asp ...

  10. CopyOnWriteArrayList分析

    ArrayList是比较常用的一个可变大小的数组集合,但是是不能同步的.如果多个线程同时访问一个ArrayList实例,其中至少一个线程从结构上修改了列表,那么它必须保持外部同步.一般通过加锁对象进行 ...