• 工具 --- Git使用


    创建远程仓库 Github

    • 首相在GitHub网站创建一个仓库:右上角加号➕,选择new repository

        

    • 然后创建编辑仓库:名称、说明、是否公开、语言、分支风格等信息。然后创建。

        

    • 复制仓库地址

        

    远程仓库下拉到本地

    • 首先进入到工作目录文件夹:cd pywrod/GitProject/
    • 下拉仓库到本地的文件夹中:git clone https://github.com/guoyapeng/GitText.git
    • 进入到下拉下来的文件夹中:cd GitText
      • 查看文件夹内的内容:ls
      • 产看当前的工作状态:git status
        • On branch master
        • Your branch is up to date with 'origin/master'.
        • nothing to commit, working tree clean

    本地创建py虚拟环境

    • 创建python开发虚拟环境:python3 -m venv .venv
      • 用python3内置的venv模块创建虚拟环境,python3.6以上才可以用
    • 激活刚刚创建的虚拟环境:source .venv/bin/activate
    • 此时git status查看状态并请求没有发生改变,说明git没有跟踪虚拟环境文件的创建
    • 这是因为我们虚拟环境文件被加载到了.gitignore文件中,加到此文件中的都会被忽略掉

    本地仓库创建分支

    • 查看分支状态 :git branch 
      • 此时在 *master主分支上,也仅有一个master分支
    • 创建 develop 分支:git branch develop
    • 再查分支状态 :git branch 
      • 此时有两个分支:*master develop 两个分支
    • 切换到develop分支上:git checkout develop

    创建远程develop分支

    • 添加修改到暂存区:git add .
    • 查看暂存区的状态:git status
      • On branch develop

      • nothing to commit, working tree clean 

    • 提交本地修改及提示信息:git push
      • fatal: The current branch develop has no upstream branch.
      • To push the current branch and set the remote as upstream, use
      •   git push --set-upstream origin develop
    • 根据上面提示创建远程分支:git push --set-upstream origin develop
    • 查看远程的分支当前的状态:git branch -r
      •   origin/HEAD -> origin/master
      •   origin/develop 远程刚创建的develop分支
      •   origin/master

     安装开发需要的软件包

    • 安装开发py程序需要的软件包 :pip install django==1.11.18 gunicorn gevent redis==2.10.6 celery ipython requests
    • 冻结环境未来还原环境时使用 :pip freeze > requirment.txt 
      • 冻结安装的环境包文件名到requirement.txt文件中
      • pip install .... 注意:一旦下载了新的开发环境安装包就要从新冻结环境
      • pip freeze > requirment.txt
    • 查看当前状态:git status
      • On branch develop
      • Your branch is up to date with 'origin/develop'.
      • Untracked files:
      •  (use "git add <file>..." to include in what will be committed)
        • requirment.txt 
    • 重新下载还原之前冻结的环境 :pip install -r requirment.txt 

    同步冻结的安装包文件到远程库

    • 将新生成的文件添加到暂存区:git add .
    • 将新生成的文件添加到版本库:git commit -m "add new requirment.txt"
      • On branch develop

      • Your branch is ahead of 'origin/develop' by 1 commit. 

      • (use "git push" to publish your local commits)

    • 将新生成的文件同步到远程库:git push
      •   Counting objects: 3, done.
      •   Delta compression using up to 8 threads.
      •   Compressing objects: 100% (3/3), done.
      •   Writing objects: 100% (3/3), 609 bytes | 609.00 KiB/s, done.
      •   Total 3 (delta 1), reused 0 (delta 0)
      •   remote: Resolving deltas: 100% (1/1), completed with 1 local object.
      •   To https://github.com/guoyapeng/GitText.git
      •      a35e042..4d86a48  develop -> develop

      自此,requirment.txt文件就同步到了远程仓库的develop分支上了

    Django操作创建新项目

    •  新创建一个Django项目:django-admin startproject swiper 
    • 将代码加到develop分支:
      • 将修改新增的文件或代码提交到暂存区:git add .
      • 将修改新增的文件或代码提交到版本库:git commit -m 'first commit'
      • 将修改新增的文件或代码推送到远端去:git push 
      • 命令行的扩展工具,可以帮助提示在哪个分支下

      注意:项目组成员,只需要clone出来,创建自己的分支

    git操作创建一个新的工作分支

    • 新建一个用户开发分支:git branch user 
    • 切换到这个新用户分支:git checkout user 
    • 进入到该django项目下:cd gittpp
    • 后创建一新的App应用,此时django会创建一个user子目录:django-admin startapp user
      • 在./gittpp/settings.py 文件中把user加入注册到INSTALLED_APPS
    • 把新的代码加入到新的工作分支中:
      • git add .
      • git commit -m "user first commit app"
    • 把本地新建的分支以及修改的内容一起推送到远端:git push --set-upstream origin user 
      • 或者同步分支后再同步修改的内容:git push

    模块开发完测试ok后,提交分支

       模块开发完测试ok后,提交 pull request。在 git server 上操作

      

    • 进入 pull request 面板

      

    • 新建一个 pull request。选择要合并的分支和目的分支,然后点击Create pull request进行合并
      • 特别小心:源分支是你要合并的分支,目的分支是合并到的分支

      

    • 选择reviewer和选择合并执行人
      • reviewer 去检查代码,检查无误后,合并执行人去执行合并操作

      

      注意:如果模块分支不需要了,可以delete

    • 点击合并按钮后,并不会立刻就去合并代码信息。而是提交给别人去审查,审查没有问题后,再由指定的合并人去最后合并
    • 检查人的github账号上就会显示你提交合并的信息,然后去检查没问题后才去合并。

      

      

      

      注意:分支合并完后,会提示是否删除刚被合并的分支,如果不再用此分支的话,就可以删除掉

      注意:千万不要随意把代码合并到主分支上去,一般此合并任务由leader负责。

    git使用的习惯:

    • 每天早上,至少要 pull 一次
    • 每天中间,可以频密的 add 和 commit
    • 一小阶段工作,就做一次 push
    • 如果与别人协作一个模块,要相对比较频密的 push
    • 有了 push 及时通知别人 pull
    • 禁忌:千万不要留着冲突不解决
    • 产生冲突的原因:远程的代码已经变更了,你还拿着以前从远端下拉下来的代码傻乎乎的一顿修改,然后再去提交到远端仓库,此时就会发生冲突;所以要及时的下拉远端仓库的代码
    • 如果下拉下来的代码和本地代码有冲突,就需要手动解决冲突,和之前提交代码的同事协商,删除不必要的冲突代码。

       

    生如逆旅 一苇以航
  • 相关阅读:
    《Thinking In C#》
    在图片上写字
    在设计期跟踪代码
    VS2003下的重构工具ReSharp
    监视剪贴板的变化
    一次重构导向设计模式的实践
    JENA学习的零散笔记
    jena处理Owl
    Maven库中.lastUpdated文件自动清除工具
    WEB数据挖掘(六)——Aperture数据抽取(2)
  • 原文地址:https://www.cnblogs.com/TMMM/p/12077601.html
Copyright © 2020-2023  润新知