zoukankan      html  css  js  c++  java
  • Git 版本控制 在 WIN 下的一些使用方法

    这里记录一些 Git 在 Windows 操作系统下使用方法:

      安装完毕后,先让Git 记录自己的名字:

    $ git config --global user.name "Your Name"
    $ git config --global user.email "email@example.com"

    一、 创建版本库

      在要创建版本库的文件夹空白处 右键打开菜单 选择 "Git Bash Here" 选项来打开 类似 "命令行"的窗口

      确定好目录后  就可以利用 git init 把目录变成仓库

      $ git init

    Initialized empty Git repository in xxxxxxxxx

    二、添加文件到仓库

      命令  $git add <file> 添加到仓库, 然后 $git commit 提交到仓库

    $git add index.php

    $git commit -m "添加修改注释"  //注释部分很重要 必须

    三、查看状态

      $git status    //查看结果  

      $git diff      //查看修改部分

    四、版本回退

      $git log     //查看历史记录

      $git reset --hard HEAD~1  //会退到历史上上1个版本

      $git reset --hard xxxxxxid  //会退到ID为 xxxx 的版本

      $git reflog     //获取 Git 上操作记录

    五、撤销修改

    $git checkout -- file     //撤销修改  -- 前后都有空格 误删文件也可以回复

    $git rm index.php     //删除文件的话 得运行一遍

     

       以上为本地部分的操作


      网络部分

    六、远程仓库

    $git remote add origin git@github.com:xiaoyueguang/JavaScript-Libraries.git  //将目前本地仓库 连接到 远程仓库上

    $git push -u origin master  //推送 master 分支上所有的内容到远程仓库(第一次关联的时候使用)

    $git push origin master  //推送 master 分支上最新的修改到远程仓库(本地修改提交后使用)

    $git clone git@github.com:xiaoyueguang/JavaScript-Libraries.git  //将远程仓库 创建以该仓库名的文件夹,复制内容到本地上。

    $git pull origin master  //拉取远程仓库上 master 分支的所有内容到本地仓库里

     七、分支管理

      分支是GIT非常重要的概念。每个人都会有不同的分支。

      一般我都使用以下分支

        master 为 主分支,是最稳定的.只有当 dev 开发分支上功能稳定的时候,合并到 master 分支上,并发布一个新版本。需要时刻同步。

        dev 为 开发的分支,平时开发完成后将开发分支合并到该分支上。需要时刻同步。

        issue 为 BUG 分支。修复 BUG 时创建该分支,修复完成后合并到 出 BUG 的分支上,并删除该分支。不需要时刻同步。

        feature 为 开发新功能分支。完成后合并到 dev 分支上并删除。视情况而定(多人协作则时刻同步,另建分支合并上去。单人开发则无需时刻同步,直接合并到DEV分支上。)

        gh-pages 为 github 主页的分支(存放主页内容)。

        除此之外,每次开发新功能的时候应当创建一个新分支,完成后合并到 dev 分支上。

    $git checkout -b dev  //创建并切换到 dev 分支进行开发(切换分支后,本地仓库内容都会有所变化),所以要 即时保存当前工作内容 或者 提交修改

    $git branch  //查看所有分支,当前分支前会有 * 号

    $git branch dev  //创建分支

    $git merge dev  //合并 dev 分支到当前分支 

    $git branch -d dev  //删除分支

    $git log --graph  //查看分支合并图

      冲突:

      有时候你开发的周期比较长,在你开发期间,团队里有人提交了 commit ,会导致远程仓库的内容和你当前本地内容不一致,这时候合并会出现冲突!

      当冲突出现的时候, GIT 会把内容放到一起, 在文件里 用 <<<<<<, >>>>>>, ====== 表示出不同分支的内容。

      等我们手动解决后,再利用  git add、 git commit 来完成提交。

      BUG:

      当出现一个急需处理的BUG后,我们应当这么做

    $git stash  //保存当前的工作区(可保存多次)

    $git status  //查看工作区

    $git checkout master  //跳转到出 BUG 的分支

    $git checkout -b issue-101  //创建 BUG 分支

    //做完相应的修改后,提交

    $git checkout master  //跳转到出 BUG 的分支

    $git merge -m "合并分支" issue-101  //合并分支

    $git branch -d issue-101  //删除 BUG 分支

    $git stash list  //查看工作区

    $git stash apply  //恢复工作区, stash内容还在

    $git stash pop  //恢复工作区,stash内容清空(建议采用此方法)

    八、标签管理

      给当前状态打个标签,以后可以方便的查看该标签的状态。

    $git tag V1.0  //在当前的 commit 上 新建一个标签

    $git tag -a V1.0 -m "标签状态"  //指定标签信息

    $git tag -s V1.0 -m "PGP签名"

    $git tag  //查看所有标签

    $git push origin V1.0  //推送本地标签到远程仓库

    $git push origin --tags  //推送全部未推送过的标签

    $git tag -d V1.0  //删除标签

    $git push origin :refs/tags/V1.0  //删除远程标签


    九、自定义 GIT

      为了让 GIT 更容易使用,我们可以自定义 GIT。

    $git config --global alias.co checkout  // co = checkout

    $git config --global alias.br branch  // br = branch

    $git config --global alias.ci commit  // ci = commit

  • 相关阅读:
    awk: 两列相加
    awk: 多行转一行(一列转一行)并在加上双引号和逗号
    R也可以计算保守性得分(phastCons100way.UCSC.hg19)
    linux:提取列数一致的行
    本周最新文献速递20210509
    菠萝蜜成长记
    报错:UnavailableInvalidChannel: The channel is not accessible or is invalid解决方法
    awk无法比较数值
    【专利自助申请指引 ● 第1章. 申请流程介绍 ● 1.2.6 完成费减备案(可选)】
    【专利自助申请指引 ● 第1章. 申请流程介绍 ● 1.2.5 提前公布请求和实质审查请求】
  • 原文地址:https://www.cnblogs.com/linjilei/p/5096163.html
Copyright © 2011-2022 走看看