Git协同开发操作+github

Git

  git是一个用于帮助用户实现版本控制的软件

第一阶段:在美国进修的日子

1.命令:

  git  init

  git  status      查看当前文件夹的状态   全部红色

  git  add+文件名  对指定文件进行版本控制  当前文件名变绿色

  git  add .        对指定文件夹下的所有文件及子目录进行版本控制  所有变绿

  git  commit -m ‘详细的描述信息‘   创建提交记录

  git  log         查看所有提交记录   当前版本之前上一个版本的信息,之后的就没有     

  git  reflog     提交版本的信息更详细一点 

  git reset --hard 提交记录(版本号)

第二阶段:在开发游戏杀SX的功能,开发的过程中临时需要修复已上线项目的bug问题或者新功能到来时

  方式一:

    git  stash  全部暂存到神奇的地方(拿走)

    git  stash pop  从神奇的地方取回来再进行开发新的功能

      git stash  只保存那些红色的文件,表示那些没有被add commit那些文件

    注意:当拿走这些文件的时候,又在本地修改再加新东西的时候,在pop回来默认它要合并,这时候要产生冲突,解决冲突手动解决就行了。

    git stash             将当前工作区所有修改过的内容存储到“某个地方”,将工作区还原到当前版本未修改过的状态

    git stash list        查看“某个地方”存储的所有记录

    git stash clear     清空“某个地方”

    git stash pop       将第一个记录从“某个地方”重新拿到工作区(可能有冲突)

    git stash apply     编号, 将指定编号记录从“某个地方”重新拿到工作区(可能有冲突)

    git stash drop      编号,删除指定编号的记录

  方式二:

    git branch -m+分支    创建并切换到指定分支

    git branch      查看有那些分支

    git branch dev       创建dev分支,表示在当前分支copy一份代码到dev分支

    git branch bug       创建bug分支

    git branch -d bug     删除bug分支

    git checkout dev    当前分支切换到dev分支

    想合并的时候,首先要切换(跳)到自己想合并的分支比如说跳到master分支

    git merge dev     把dev分支合并到master了 将指定分支合并到当前分支

    如果两个分支同时修改同一行代码,这时候可能会发生冲突,手动解决。

如果代码出现问题?

  1.新创建一个bug分支,然后进行bug处理,处理完毕之后,合并到master分支。

  2.删除bug分支

  3.回到之前分支继续开发

第三阶段:在家开发写了一段代码存在.git文件下也就是本地,我自己开的公司在香格里拉酒店租了一层楼。第二天去上班,又不想带家里边的电脑。

     需要一个代码托管的网站:github/Bitbucket/码云

     自己搭建创建代码托管的网站:gitlab

  在家操作:

    1.在github上建立仓库:仓库名最好要和本地项目名称一样

    2.git remote add origin https://github.com/......./...git  (origin代表的就是建立github仓库名的地址)

    3.git push origin master  把本地master分支推到别名叫origin地址上  (看.git下叫config文件有对应关系)

      1)在仓库上只有master分支

      2)在家有两分支git branch  dev和master

      3)我在家是在dev分支上开发的,所以我也要把dev分支也要推到github仓库上去

      4)在家在这里最好切换到dev分支上再推,git checkout dev   git push origin dev 这时候在github仓库上就有两分支了master和dev

  在公司香格里拉大酒店操作:

    1.克隆git clone https://github.com/......./...git

    2.在这里要进入文件夹 cd 进去

    3.在香格里拉本地再创建一个dev分支  git branch dev

    4.再切换到dev分支, git checkout dev  在这里copy的是master分支的代码

    5.git pull origin dev 拉github仓库的dev分支的代码

  如果在公司没提交代码到github仓库上?1.py

    到了家之后?git pull origin dev 发现没有1.py,在家继续开发2.py功能git push origin dev

    第二天到了公司?git pull origin dev---->要出现Merge合并记录

    在公司继续开发,添加3.py, git push origin dev

    回家拉代码 git fetch origin dev  但是1.py 3.py 没拉下来,还没在本地这时候在版本库

    git merge origin/dev  这时候本地就有1.py 2.py 3.py文件

    如果不想分叉:使用git fetch origin dev + git rebase origin/dev

git rebase的作用?

  如果在公司写的代码忘记提交了,回家继续开发新的功能,第二天到公司用git pull 或者 git fetch+git merge可能会出现分叉,如果想保持提交记录的整洁,就用git fetch + git rebase 最终的作用就是保持提交记录的整洁。

第四阶段:多人协同开发

      1.允许他人操作代码

        a.合作者模式

        b.创建组织模式

      2.分支

        -master

        -dev

        -开发者1的分支

        -开发者2的分支

      3.规则

         一起合并

         合并间隔时间 1-2天合并一次

  遇到的问题:别人在之前提交过,我再去提交要报错,在这个时候就要先把别人提交的代码拉下来,可能产生冲突。发生冲突自己修改,修改完再push提交上去

      4.做codereview 从新看下代码

        a.组长

        b.组长之下稍微可以的人

        创建review分支:符合业务组长去审查,如果逻辑没问题,用工具检测只是跑性能,语法有没有问题,pep8遵从

第五阶段:给别人代码贡献力量

      先Fork

      再pull request

其它:

  a.不用反复输入用户名密码登录

    https:

    git remote add origin https://用户名:密码@github.com/......./...git

    ssh:

    [email protected]:*****/*****.git

    生成一对公钥私钥:

    ssh-key命令:下有两个ssh-keygen.exe  ssh-keyscan.exe文件

    再执行ssh-keygen.exe  记住保存的位置一直回车下去

    找到公钥放在github settings中即可

  b.忽略文件

    vim .gitignore 中可以写忽略的文件,比如:*.sql,*.pyc

    忽略文件也要提交到仓库中,方便其它人拉取下来再做提交操作    

    以斜杠“/”开头表示目录;   

    以星号“*”通配多个字符;   

    以问号“?”通配单个字符   

    以方括号“[]”包含单个字符的匹配列表;   

    以叹号“!”表示不忽略(跟踪)匹配到的文件或目录;

    各种忽略https://github.com/github/gitignore/blob/master/Python.gitignore

  c.版本  

    git tag -a v1.0 -m ‘版本介绍‘ 本地创建Tag
    git show v1.0 查看
    git tags -n 查看本地Tag
    git tag -l ‘v1.4.2.*‘ 查看本地Tag,模糊匹配
    git tag -d v1.0 删除Tag
    git push origin :refs/tags/v0.2 更新远程tag
    git checkout v.1.1 切换tag
    git fetch origin tag V1.2

    git push origin --tags
    git pull origin --tags
    git clone -b v1.0  [email protected]:*****/*****.git

    

    

    

    

    

  

  

原文地址:https://www.cnblogs.com/Alexephor/p/11311331.html

时间: 2024-10-10 13:03:29

Git协同开发操作+github的相关文章

GIT 协同开发

Git 是一个开源的分布式版本控制系统,用于敏捷高效的处理任何项目的版本问题.Git 是 Linus Torvalds 为了帮助管理 Linux 内核开发而开发的一个开放源码的版本控制软件.与cvs,svn等版本管理工具不同,GIT采用的是分布式版本库的方式,不必服务器端软件的支持. GIT与SVN的主要区别: git 是分布式的, svn 不是 git 按照元数据的方式存储内容, svn 是按照文件的形式存储 git 和 svn 中的分支不同 git 没有全局版本号, svn 有 git 内容

git协同开发

Github之协同开发 一.协同开发 1.引子:假如三个人共同开发同一份代码,每个人都各自安排了任务,当每个人都完成了一半的时候,提交不提交呢? 要提交,提交到dev吗,都上传了一半,这样回家拿出来的代码根本跑不起来.所以, 为每一个人创建一个分支,各自都在各自的分支上写代码,互不影响. 很短时间内大家暂时先合并一次,不然冲突太多了.但是这个分支不是dev,而是review分支,当老大看完没问题之后再合并到dev分支. 二.协同开发的两种方式: 方式一:创建协作者和组织: 方式二:添加组织 三.

Git同步更新操作GitHub和码云仓库上面的代码

一.前言 问题: 小编在生活中,一般都是将代码保存到github上,但由于国内的码云仓库确实速度比github快很多,用起来也很方便,于是后来就慢慢转码云了,当然小编在github上的代码也不想放弃更新,于是有没有方法可以让我们可以同步更新这两个git远程仓库呢?? 答案: 办法肯定是有的,下面我们就来实际进行操作一下吧 ~ 二.同步更新操作GitHub和码云仓库代码 即提交代码时,github仓库和码云仓库上的代码都同步更新提交上去了,而不需要分开去进行两次提交 ~ (1)将github和码云

?git?-----协同开发,冲突解决 合并分支(项目中使用git)

使用基本流程 """ 1.开发前,拉一次远程仓库 2.工作区进行开发 3.将开发结果提交到本地版本库 - git status查看时没有待处理的事件 4.拉取远程仓库(每一次要提交远程仓库前必须先拉) 5.如果出现冲突,线下沟通(协商重新开发冲突文件),要重新走3.4步 6.没有冲突,提交到远程仓库 """ 协同开发 """ 1)所有人在一个分支上进行开发 - 通常开发分支名为dev 2)遵循git开发流程:先提交本

git团队开发操作

01. 建立代码仓库(专门用于团队开发的代码仓库) ================================================================================ # 切换目录 $ cd /Users/lnj/Desktop/git演练/公司/weibo # 建立空白代码库(专门用于团队开发) $ git init --bare 02. 项目经理准备项目(前奏) ==========================================

企业团队使用Git协同开发的一般流程

流程大纲 一.代码编写 1.从主分支(master)上创建开发分支(dev). 2.切换到dev. 3.在dev上进行代码编写,并提交本地版本库. 注:一定不能直接在marster分支上修改代码 二.合并代码 1.切换到master. 2.从remote master拉取最新代码到local master. 3.切换到dev. 4.rebase master 到 dev. 5.如果有代码冲突,则解决. 三.提交代码 1.切换到master. 2.将dev的代码合并(merge)到master.

git团队开发

目录 git团队开发 git协同开发: git 版本冲突: 登陆业务: 线上项目 git团队开发 git协同开发: 流程: 1)拿公钥换源远程仓库源链接 - 成为项目开发者 2)根据源链接克隆远程仓库 - git clone 源地址 3)参与项目的团队开发,永远要遵循 先pull后push,在pull之前要将所有修改的代码提交到本地版本库 git 版本冲突: 方法: 1)当不同开发者协同开发,导致远程仓库与本地仓库的版本不一致,在pull远程仓库到本地仓库时,会出现版本冲突 2)两个仓库不同版本

Git学习笔记(三)远程库(GitHub)协同开发,fork和忽略特殊文件

远程库 远程库,通俗的讲就是不再本地的git仓库!他的工作方式和我们本地的一样,但是要使用他就需要先建立连接! 远程库有两种,一个是自己搭建的git服务器:另一种就是使用GitHub,这个网站就是提供Git仓库托管服务的,所以,只要注册一个GitHub账号,就可以免费获得Git远程仓库.友情提示:在GitHub上免费托管的Git仓库,任何人都可以看到喔(但只有你自己才能改).所以,不要把敏感信息放进去. 远程仓库的好处: 1.我们可以随时随地的与仓库建立连接,以实时存放我们开发的内容: 2.与他

git 团队开发常用操作(适用于 gogs、gitlab、github)

git 团队开发常用操作流程(适用于 gogs.gitlab.github) NO1 项目构建者 (1)在远程仓库创建仓库 (2)将伙伴添加到仓库合作者中(无先后要求) (2)cd 到项目将要存放项目的目录,右键,git bash,输入:git clone 项目远程仓库地址 (使用https的地址,ssh需要远程仓库构建者添加) (3)进入项目目录,初始化 git init ,表明该目录为git本地仓库之一 (4)建立本机与远程仓库联系,输入:git remote add 远程仓库标识(自定义一