• Git的使用(2)


    一、git在不同平台下的安装

    (1)在linux上安装

      如果以centos为例,可以使用yum安装,如下命令:

    sudo yum install git
    

      如果你在基于debian的发行版上,尝试使用:

    sudo apt-get install git

    (2)在Mac上安装

      在mac安装git方式很多,最简单是用brew包管理。

      安装homebrew,然后通过homebrew安装Git,具体方法请参考homebrew的文档:http://brew.sh/

    brew install git
    

      如果你想安装更新的版本,可以使用二进制安装程序。官方维护的 OSX Git 安装程序可以在 Git 官方网站下载,网址为 http://git-scm.com/download/mac

    (3)Windows安装

      在Windows上使用Git,可以从Git官网直接下载安装程序,然后按默认选项安装即可(详细步骤参见  https://www.cnblogs.com/li-li/p/10257612.html)。

      安装完成后,在开始菜单里找到“Git”->“Git Bash”,蹦出一个类似命令行窗口的东西,就说明Git安装成功!

    二、运行git前的配置

    1、既然已经在系统上安装了 Git,你会想要做几件事来定制你的 Git 环境。 每台计算机上只需要配置一次,程序升级时会保留配置信息。 你可以在任何时候再次通过运行命令来修改它们。

      Git 自带一个 git config 的工具来帮助设置控制 Git 外观和行为的配置变量。 这些变量存储在三个不同的位置(这个用户指的是linux用户):

      1)/etc/gitconfig 文件:包含系统上每一个用户及他们仓库的通用配置。如果使用带有 --system 选项的 git config 时,它会从此文件读写配置变量。

      2)~/.gitconfig 或 ~/.config/git/config 文件:只针对当前用户。 可以传递 --global 选项让 Git 读写此文件。

      3)当前使用仓库的 Git 目录中的 config 文件(就是 .git/config):针对该仓库。 --local 当前仓库配置。

    2、git配置相关命令

    git --version            查看git版本
    
    git config --system --list              查看系统所有linux用户的通用配置,此命令检查/etc/gitconfig
    
    git config --global --list              查看当前linux用户的配置,检查~/.gitconfig文件
    
    git config --local --list              查看git目录中的仓库配置文件,检查.git/config文件
    
    git config --global user.name "用户名"          配置当前linux用户全局用户名,这台机器所有git仓库都会用这个配置,修改用户名也是这个命令
    
    git config --global user.email "用户邮箱"         配置当前linux用户全局邮箱,这台机器所有git仓库都会用这个配置,修改邮箱也是这个命令
    
    git config --global color.ui true                    配置git语法高亮显示
    
    git config --list                     列出git能找到的所有配置,从不同的文件中读取所有结果
    
    git config user.name           列出git某一项配置,此处是列出配置的用户名

    git config user.email 查看当前配置的邮箱 git help 获取git帮助 git help config 获取config命令的手册

    三、git给文件重命名的方法

      例如:将readme.txt改为readme.md

    (1)方法一:

    mv readme.txt readme.md                    工作目录里把readme.txt 重命名为readme.md

    git add readme.md             将readme.md加入暂存区

    git rm readme.txt               暂存区中删除readme.txt

    git reset --hard    上一次commit版本号      (注意这个命令危险,慎用)

    (2)方法二(推荐):

    git mv readme.txt  readme.md
    
    git commit -m "mv readme.txt to readme.md"

    四、git常用命令

    1、克隆远程仓库代码到本地

    git clone git@gitlab.xxx                        通过git拉取代码的时候,默认拉取的是master分支
    git clone -b develop git@gitlab.xxx             拉取develop分支代码

    2、拉取远程分支并创建本地分支

    方式一:
    git checkout -b 本地分支名x  origin/远程分支名x
    该方式会在本地新建分支x,并自动切换到该本地分支x,采用此种方法建立的本地分支会和远程分支建立映射关系
    
    方式二:
    git fetch origin 远程分支名x:本地分支名x
    该方式会在本地新建分支x,但不会自动切换到该本地分支x,需要手动checkout,采用此种方法建立的本地分支不会和远程分支建立映射关系
    git pull     远程分支最新代码拉取下来(前提是手动建立映射关系)

    3、本地分支和远程分支建立映射关系(若本地分支和远程分支没有建立映射关系,则需要手动建立,否则拉取和推动不会成功

    git branch  -u  origin/远程分支名
    或者
    git branch  --set-upstream-to  origin/远程分支名

    4、推送本地分支到远程分支

    git push origin <l_name>:<r_name>         l_name是本地分支,r_name是远程分支,远程没有会自动创建,可与本地同名

    5、合并分支

    git merge --no-ff -m "修改了什么问题"  <name>          合并某分支<name>到当前分支

    6、强制拉取最新代码

    git fetch --all
    git reset --hard  origin/beta
    git pull                      // 可以省略

    7、其他常用命令

    git branch              查看本地所有分支和当前所在分支
    git branch -vv        查看本地分支与远程分支的映射关系
    git branch -r           查看远程分支
    git branch -a          查看本地和远程所有分支
    git status          查看状态
    git log --pretty=oneline
    git reflog
    git diff git commit
    -m "注释" git merge hotfix 合并hotfix到当前分支 git branch <name> 创建分支
    git checkout -b <name> 创建并切换到该分支 git checkout
    <name> 切换分支 git branch -d <name> 删除本地分支 git push origin --delete <name> 删除远程分支 git remote -v 查看关联的所有的远程仓库名称及地址
    git remote add <别名> <远程版本库的url> 添加远程版本库的别名
    git pull origin develop 拉取远程仓库名为origin的develop分支的最新代码到本地当前分支
    git push origin develop 推送本地当前分支代码到远程的仓库名为origin的develop分支
    git remote rm <别名> 删除远程仓库别名 git reset
    --hard 版本号

    8、git协同开发

    方式一:
    ① develop 开发分支 ② beta 测试分支 ③ release 发布分支 ④ 功能开发时,在本地拉取develop分支并且新建要开发的功能对应的分支,将develop分支merge到新建分支,不要直接在develop上开发,分支命名 "feature_版本号
    _gongneng名" ⑤ bug修复时,在本地拉取beta分支,并且新建bugfix分支,将beta分支合并到新建的bugfix分支上,然后再进行bug修复,修复完成合并到beta分支上

    方式二(开源框架协作流程):
    比如官方的项目地址为git@gitlab.project.com
    ① git clone -b develop
    git@gitlab.project.com 拉取官方develop分支代码到本地
    ② fork官方项目到自己gitlab账户下,项目地址为 git@gitlab.wll.com
    ③ git remote add my_origin git@gitlab.wll.com 添加自己的远程仓库别名
    ④ 切换到develop分支,拉取最新官方develop分支代码
      git checkout develop 切换到开发分支develop
      git pull origin develop 拉取官方项目最新代码
    ⑤ git checkout -b hotfix/name 新建分支,开发新功能或者修复bug
      ... 开发或者修复bug的过程 ...
    ⑥ 添加并提交修改的文件
      git add <filename> 将修改的内容添加入暂存区,多个文件用空格隔开
      git commit -m "功能注释" 将修改的内容提交到本地仓库
    ⑦ 推送前拉取最新官方代码,有冲突解决冲突
      git checkout develop 切换到develop分支
      git pull 拉取官方仓库最新代码
      git chekcout hotfix/name 切换到自己建的功能开发代码
      git merge develop 合并最新的官方代码到自己建的功能开发分支
    ⑧ git push my_origin hotfix/name 将功能分支推送到自己远程gitlab
    ⑨ 提交合并请求
    ⑩ 新功能开发继续重复第④步即可。
    注意:原则就是保持

    五、参考资料

      1、git官网

      2、廖雪峰

  • 相关阅读:
    HTML知识点链接
    Apache和PHP的安装
    MySql的安装
    MY_FIRSH_MODULE
    【PAT甲级】1053 Path of Equal Weight (30 分)(DFS)
    Atcoder Grand Contest 039B(思维,BFS)
    Codeforces Round #589 (Div. 2)E(组合数,容斥原理,更高复杂度做法为DP)
    Codeforces Round #589 (Div. 2)D(思维,构造)
    【PAT甲级】1052 Linked List Sorting (25 分)
    【PAT甲级】1051 Pop Sequence (25 分)(栈的模拟)
  • 原文地址:https://www.cnblogs.com/li-li/p/11207774.html
Copyright © 2020-2023  润新知