• 分布式版本控制系统Git


    下载地址:https://git-scm.com/download

    git一般工作流程:

      1.从远程仓库中克隆 Git 资源作为本地仓库。
      2.从本地仓库中checkout代码然后进行代码修改
      3.在提交前先将代码提交到暂存区。
      4.提交修改。提交到本地仓库。本地仓库中保存修改的各个历史版本。
      5.在修改完成后,需要和团队成员共享代码时,可以将代码push到远程仓库。

    工作原理 / 流程:Workspace:工作区  Index / Stage:暂存区  Repository:仓库区(或本地仓库)  Remote:远程仓库

      

    在开始菜单里面找到 "Git --> Git Bash" 或者在右键菜单中找到" Git Bash " 打开命令行

    输入 git config --global user.name "xxxxxx" 设置用户名  git config --global user.email "xxxxxx" 设置邮箱

    设置后表示这台机器上所有的Git仓库都会使用这个配置,当然也可以对某个仓库指定的不同的用户名和邮箱(找到项目所在目录下的 .git/文件夹,进入执行:git config user.name "xxxxxx"  git config user.email "xxxxxx")。

    版本库:“.git”目录就是版本库,将来文件都需要保存到版本库中。
    工作目录:包含“.git”目录的目录,也就是.git目录的上一级目录就是工作目录。只有工作目录中的文件才能保存到版本库中。

    Git的版本库里存了很多东西,其中最重要的就是称为stage(或者叫index)的暂存区,还有Git为我们自动创建的第一个分支master,以及指向master的一个指针叫HEAD。

    操作本地仓库常用命令:

      创建仓库的命令(切换目录到仓库所在的目录):git init

      把文件修改添加到暂存区:git add  xxxx

      把暂存区的所有内容提交到当前分支:git commit -m "xxx提交说明xxx"

      查看状态:git status

      查看分支:git branch

      创建分支:git branch xxx

      切换分支:git checkout xxx

      创建+切换分支:git checkout –b xxx

      合并某分支到当前分支:git merge xxx

      删除分支:git branch –d xxx

      查看当前分支的日志:git log

    忽略文件或文件夹:
      在工程中有时候并不是所有文件都需要提交的
      在Git工作区的根目录下创建一个特殊的.gitignore文件,然后把要忽略的文件名填进去,Git就会自动忽略这些文件。

      忽略语法: 

        空行或是以 # 开头的行即注释行将被忽略。
        可以在前面添加正斜杠 / 来避免递归,下面的例子中可以很明白的看出来与下一条的区别。
        可以在后面添加正斜杠 / 来忽略文件夹,例如 build/ 即忽略build文件夹。
        可以使用 ! 来否定忽略,即比如在前面用了 *.apk ,然后使用 !a.apk ,则这个a.apk不会被忽略。
        * 用来匹配零个或多个字符,如 *.[oa] 忽略所有以".o"或".a"结尾, *~ 忽略所有以 ~ 结尾的文件(这种文件通常被许多编辑器标记为临时文件);
        [ ] 用来匹配括号内的任一字符,如 [abc] ,也可以在括号内加连接符,如 [0-9] 匹配0至9的数; ? 用来匹配单个字符。
        例:
          # 忽略 .a 文件
            *.a
          # 但否定忽略 lib.a, 尽管已经在前面忽略了 .a 文件
            !lib.a
          # 仅在当前目录下忽略 TODO 文件, 但不包括子目录下的 subdir/TODO(避免递归)
            /TODO
          # 忽略 build/ 文件夹下的所有文件
            build/
          # 忽略 doc/notes.txt, 不包括 doc/server/arch.txt
            doc/*.txt
          # 忽略所有的 .pdf 文件 在 doc/ directory 下的
            doc/**/*.pdf

    一、将本地的项目上传到远端服务器

      1、远端服务器上创建一个项目 xxxxx

      2、本地创建一个文件夹 xxxxx,然后右键使用 git bash 命令行

      3、使用 git init 命令 ,初始化一个git 本地仓库(项目),会在本地创建一个 .git 的文件夹

      4、使用git remote add origin xxx远程仓库地址xxx ,与远程仓库建立连接

        如果出现 fatal: remote origin already exists.错误,先执行git remote rm origin,然后再执行上面的命令

      5、使用 git pull origin master 命令,将远程仓库pull到本地文件夹

      6、将要上传的文件,添加到刚刚创建的文件夹

      7、使用git add . 或者 git add + 文件名 (将文件保存到暂存区)

      8、使用git commit -m "描述新添加的文件内容" (就是注释) (文件保存到本地仓库)

      9、使用git push origin master ,将本地仓库推送到远程仓库

    二、将远程仓库拉取指定分支到本地仓库

      a) 本地有其他分支在项目:

        进入项目目录执行git checkout -b 本地分支名 origin/远程分支名

          如果报错,fatal: 'origin/dev' is not a commit and a branch 'dev' cannot be created from it

          需要从git上重新拉取数据然后再创建远程分支到本地  git pull

        将本地仓库推送到远程仓库时,如果本地分支名和远程分支名相同,直接使用 git push origin 分支名,否则使用 git push origin 本地分支名:远程分支名

      b)本地没有项目

        git clone -b 分支名 仓库地址

    三、将远程仓库项目克隆到本地
      1、cd 到想要保存远程仓库项目的文件夹
      2、使用 git clone xxx远程仓库地址xxx

        该命令会在本地主机生成一个目录,与远程主机的版本库同名,如果要是制定不同的目录名,可以将目录名作为git clone 命令的第二个参数。git clone #版本库网址# #本地目录名#

    git clone与git pull区别:

      从远程服务器克隆一个一模一样的版本库到本地,复制的是整个版本库,叫做clone.
        clone是将一个库复制到你的本地,是一个本地从无到有的过程
      从远程服务器获取一个分支的更新到本地,并更新本地库,叫做pull.
        pull是指同步一个你在本地有版本的库内容更新的部分到你的本地库
        git pull相当于是从远程获取最新版本并merge(合并)到本地,如果发生了冲突,可以使用git reset --merge进行回退     git pull = git fetch + git merge,git fetch更安全一些
        git pull origin #远程分支#:#本地分支#  如果远程分支是与当前分支合并,则冒号后面的部分可以省略。相当于1. git fetch origin 2.git merge origin/#远程分支#
      

  • 相关阅读:
    手撕RPC框架
    关于JVM的一些冷知识
    luoguP2627 修剪草坪
    [USACO16OPEN]248
    luoguP1171 售货员的难题
    luoguP2016 战略游戏
    luoguP2422 良好的感觉
    POJ1160 [IOI2000]Post Office
    luoguP2015 二叉苹果树
    BZOJ1756 小白逛公园
  • 原文地址:https://www.cnblogs.com/roadlandscape/p/12248108.html
Copyright © 2020-2023  润新知