zoukankan      html  css  js  c++  java
  • git 常用指令

    今天开始学习git

    1. 什么是git

    • git - 开源的分布式版本控制器
    • Linux Benedict Torvalds

    2. 版本控制工具

    SVN:  集中式版本控制器  --- 代码库放在服务器上集中管理  -- 必须实时联网

    Git:    分布式版本控制器  --- 服务端和客户端都有代码库  -- 速度快  --- 不用实时联网

    3. git工作流程

    • clone   --- CheckOut
    • commit -- 将代码提交到本地仓库
    • push   --- 将本地仓库推送到服务器
    • pull     --- 更新本地仓库

    4. 

    • 新建一个"本地仓库"  $ git init
    • 配置仓库  
      • 告诉git你是谁 --  $ git config user.name lnj
      • 告诉git怎么联系你 -- $git config user.email lnj@itcast.cn
      • 上面配置为 一次性配置方式, 配置文件在管理文件夹下
      • 下面的方式为 一劳永逸的方式
      • $ git config --global user.name jiaguanglei

      • $ git config --global user.email 2318336342@qq.com

      • 点击前往 -- 个人  会看到一个.gitconfig 文件(隐藏)

    5. 学习git指令

    git 学习指令和SVN类似, git是通过一个不可编辑的指南,-- $q 退出    $空格 - 下一页   $ctrl + b -- 上一页   $/+"搜索文字"

    $git help

    • $git help clone   -- 
    1. $ touch main.c   -- 创建文件
    2. $ open main.c     -- 打开文件
    3. $ git status   --- 查看文件状态
    4. $ git add  main.c --- 添加文件到"暂存区"
      • # 将当前文件夹下的所有新建或修改的文件一次性添加到代码库

        $ git add .

    5. $ git commit main.c  --- 更新本地代码库
      • [注意] 如果没有在commit后面加上 -m, 说明修改了什么, 会自动进入一个vim界面, 要求我们输入修改信息;
      • 按键盘上的 i o, 进入输入状态  -- 直接输入 修改内容
      • 修改完以后, 按esc,  输入":" +  wq 退出
      • 所以以后终端提交的时候, 最好加上 -m
      • $  git commit main.c -m "添加了返回值模块"

    [注意] 未添加的颜色:  红色;-------工作区 -- manager 当前能看到的文件夹

           add 添加到暂存区的颜色: 绿色  --- 暂存区 -- commit --- 本地仓库repository

    [注意]git默认是没有简写指令, 起别名指令 -- $ git config alias.st status     $ git config alias.cm "commit -m"   $ git config alias.st statusclear -- 清除别名

    6. $ git log main.c  --- 打印修改记录   

    git的版本号 是40位的哈希值

    svn 是一个整数

       $ git reflog main.c  --  查看所有修改信息

      • # 查看所有版本库日志 ---  $ git log
      • # 查看指定文件的版本库日志  ---  $ git log 文件名
      • # 配置带颜色的log别名  ---  $ git config --global alias.lg "log --color --graph --pretty=format:'%Cred%h%Creset -%C(yellow)%d%Creset %s %Cgreen(%cr) %C(bold blue)<%an>%Creset' --abbrev-commit"

    7. 版本恢复

    • 已经提交

    git reset --hard HEAD^    ----  强制恢复到 上一个版本

    $ git reset --hard HEAD~(3)  --- # 回到之前第3个修订版本

    $ git reset --hard 版本号前七位   --- 哈希值前七位

    $ git reset e695b67  ---  # 回到指定版本号的版本

    $ git reflog  --- # 查看分支引用记录

    • 未提交

    $ git checkout main.c

    $ git reset --hard HEAD  ----- # 回到当前版本,放弃所有没有提交的修改

           8. 查看修改文件

    • $ git diff    --- 查看修改内容  绿色-新增  红色-删除

    6. 远程仓库配置

     svn 需要一个单独的服务器

     git 文件, U盘, 云盘, github, OSChina

    1. 新建git的远程仓库  --- 这个仓库仅仅用于管理代码,不参与开发.
      • git init --bare  

         2.  项目经理初始化项目 

    2.1 先初始化一份空的仓库到本地

      $ git clone 代码库地址(也可以是本地路径)

    2.2 忽略不需要加入版本控制器的文件 

        .gitignore 

      [注意]配置gitignore, 只需要在github上搜索, .gitignore  然后复制代码即可; 

         配置gitignore一定要在和 .git隐藏文件同一级的目录下进行

      2.3 生成.gitignore 文件以后, 还需要将gitignore添加到代码库中,  

      • git add .gitignore
      • git commit .gitignore -m "配置忽略文件"

      2.4 新建项目

      • commit - 将代码提交到本地
      • git中默认会创建一个分支, origin/master  -- 相当于 SVN 中的=trunk
      • push  -- 将代码提交到远程仓库

    总结:

      1> git 每次修改都要要add

      2> git 每个开发者本地都有一个仓库

      3> git 每次提交, 都是先提交到本地仓库, 再提交到远程仓库

    7. 新人服务器的搭建

      1> 新建一个新人服务器

      2> 初始化仓库  ---- $ git init --bare

      3> 添加一个新的远程仓库, sourceControl  -- config 仓库  --- add   --- done

      4> 经理将新的代码 push 到新的服务器

    8. git 分支管理

    • $ git tag -a v1.0 -m "Version 1.0"    ---- 在本地代码库 给项目打标签 [仅仅是本地标签, 和服务器没有关系]
    • $ git tag                                -----  查看标签
    • $ git push origin v1.0   ----- 将标签推送到远程仓库中

     开启一个分支

    • $ git checkout -b new_branch_name  -- 新建一个分支

    • $ git tag -a v1.0 -m "Version 1.1"      --- 本地保存修复
    • $ git push origin v1.1                        ---  更新远程仓库

    02. 分支管理 - Tag

    ================================================================================

    # 查看当前标签

    $ git tag

    # 在本地代码库给项目打上一个标签

    $ git tag -a v1.0 -m 'Version 1.0'

    # 将标签添推送到远程代码库中

    $ git push origin v1.0

    # 使用tag,就能够将项目快速切换到某一个中间状态,例如产品开发线上的某一个稳定版本

    # 签出v1.0标签

    $ git checkout v1.0

    # 从签出状态创建v1.0bugfix分支

    $ git checkout -b bugfix1.0

    # 查看远程分支

    $ git branch -r

    # 删除远程分支

    $ git branch -r -d origin/bugfix1.0

     

  • 相关阅读:
    用华为云cli(命令行程序),管理华为云服务器的,安全组端口
    分布式运算中,高精度校时器的畅想
    powershell版,Fail2Ban脚本,阻止黑客攻击sshd
    对比nushell和powershell
    TagHelper 中使用 ViewBag 及其他
    测试其它 节选自《闻缺陷则喜》(此书可免费下载)
    单元测试 节选自《闻缺陷则喜》(此书可免费下载)
    概要设计 其它 节选自《闻缺陷则喜》(此书可免费下载)
    python进程
    JWT-jwt是什么
  • 原文地址:https://www.cnblogs.com/guangleijia/p/4817313.html
Copyright © 2011-2022 走看看