zoukankan      html  css  js  c++  java
  • Git 必知必会《上》

    欢迎关注【无量测试之道】公众号,回复【领取资源】,
    Python编程学习资源干货、
    Python+Appium框架APP的UI自动化、
    Python+Selenium框架Web的UI自动化、
    Python+Unittest框架API自动化、

    资源和代码 免费送啦~
    文章下方有公众号二维码,可直接微信扫一扫关注即可。

    1、什么是Git

    Git 是一个开源的分布式版本控制系统,用于敏捷高效地处理任何或小或大的项目。

    Git 是 Linus Torvalds 为了帮助管理 Linux 内核开发而开发的一个开放源码的版本控制软件。

    Git 与常用的版本控制工具 CVS, Subversion 等不同,它采用了分布式版本库的方式,不必服务器端软件支持。

    2、如何安装 

    本文以windows 平台安装为示例进行讲解,安装包下载地址:https://gitforwindows.org/ ,下载下来后是一个exe可执行包,详细的安装过程这里不演示。

    3、 如何使用

    命令之一:git config

     1 git config 命令用来配置git的配置文件,git配置级别主要有以下3类:
     2  
     3 1.仓库级别 local 【优先级最高】git config --local -l 查看仓库配置
     4  
     5 2.用户级别 global【优先级次之】git config --global -l 查看用户配置
     6  
     7 3.系统级别 system【优先级最低】git config --system -l 查看系统配置
     8  
     9 git config --global user.email test@126.com #增加一个配置项
    10  
    11 git config [--local|--global|--system] --get section.key(默认是获取local配置中内容) #获取一个配置项
    12  
    13 git config [--local|--global|--system] --unset section.key #删除一个配置项
    14  
    15 $ git config --list
    16  
    17 diff.astextplain.textconv=astextplain
    18 filter.lfs.clean=git-lfs clean -- %f
    19 filter.lfs.smudge=git-lfs smudge -- %f
    20 filter.lfs.process=git-lfs filter-process
    21 filter.lfs.required=true
    22 http.sslbackend=openssl
    23 http.sslcainfo=C:/Program Files/Git/mingw64/ssl/certs/ca-bundle.crt
    24 core.autocrlf=true
    25 core.fscache=true
    26 core.symlinks=false
    27 pull.rebase=false
    28 credential.helper=manager

    命令之二:git clone

     1  
     2 $ mkdir zentao_project #创建项目目录
     3 $ cd zentao_project #进入项目目录
     4 $ ssh-keygen.exe # 生成公钥
     5 Generating public/private rsa key pair.
     6 Enter file in which to save the key (/c/Users/tdcengineer/.ssh/id_rsa):
     7 Enter passphrase (empty for no passphrase):
     8 Enter same passphrase again:
     9 Your identification has been saved in /c/Users/tdcengineer/.ssh/id_rsa
    10 Your public key has been saved in /c/Users/tdcengineer/.ssh/id_rsa.pub
    11 The key fingerprint is:
    12 SHA256:7vf10KJ+xduQgviN23fUSFtcjn2nGfXC/BGolWzTVpE tdcengineer@DESKTOP-U4OR066
    13 The key’s randomart image is:
    14 +—-[RSA 3072]——+
    15 | . +.=|
    16 | B Eo|
    17 | +oo+|
    18 | . B.O|
    19 | S. . . %=|
    20 | .. . . B.|
    21 | .. o .+++|
    22 | . +..oo=o|
    23 | …+=o ..|
    24 +——[SHA256]——-+
    25  
    26 $$ cat ~/.ssh/id_rsa.pub
    27 ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABgQDSGnLxdJ88zyQFH/gXH7EwtoM5JxEMhoU5F9bZqTBxdoyZnjLZUGzzVydzD0GBcneOgyi/E9WrdnHe/lcqK+/WiWSUga3UVlNa5MSJyzsasMKhswelRdwGNtPPogg87F2nnRf5DDyaNqTgWzwGjTqDMXE9JPmqqdnEfiBl/nwPikhIEbCXniwN2P9u4mP8MajQRAUu8FE7UsiG+t/NrD5Y2MGUYyuDXkzffq5x6cR+8ZANFBIJXmKVmZzjAcdYSNbn+O8HEJdiCKZgPn7rUHn2K11P+ts1caUZKnTDnIOiISm1bi7YzYjF8RB+OhufJ2TGHrBVWPgNChZFdcniT/IaMzo2YsCDOAluBs51TokQoszC+f1x2qEP/T5F/cd8zeVi/HHDWkHWp1aVJF0QixL3Q2YMzzG6TlECybA9jgLcBJksdz/QAto5RRdGqqPV/zoOwHt24ng93CDJlzkEuatbcQDMN9j9xu0WUxgIB/y7smlAOAiYlgefL9BUKxPFcWE= tdcengineer@DESKTOP-U4OR066
    28  
    29 将此公钥粘贴到git平台的—》user setting —》ssh keys —》key 这个文本框架,再输入title —》点击 【Add key】即可
    30 $ git clone git@gitlab.test.com:cm/zentaopms.git
    31 Cloning into ‘zentaopms’…
    32 remote: Enumerating objects: 338, done.
    33 remote: Counting objects: 100% (338/338), done.
    34 remote: Compressing objects: 100% (162/162), done.
    35 remote: Total 5506 (delta 183), reused 299 (delta 151)
    36 Receiving objects: 100% (5506/5506), 6.96 MiB | 1.22 MiB/s, done.
    37 Resolving deltas: 100% (2315/2315), done.
    38 Updating files: 100% (2674/2674), done.
    39 clone 项目成功。

    命令之三:git add

    1  
    2 此命令是将项目中未被跟踪的文件都加入到仓库中,它不提交这些文件,而只是让git开始关注他们
    3 $ mkdir wl #在导入的工程目录下创建一个目录
    4 $ cd wl #进入到创建的目录
    5 $ cp /d/BaiduNetdiskDownload/ows-project/wechat/getemailss.py . #copy一个py文件到此目录下

    命令之四:git status

     1 查看项目的状态时候,输出的都是我们位于分支master上,接下里的输出表明项目在特定时间的快照。
     2 $ git status
     3 On branch master
     4 Your branch is up to date with 'origin/master'.
     5 nothing to commit, working tree clean
     6 操作完成命令二后,再来看看git status 有什么不同:
     7 $ git status
     8 On branch master
     9 Your branch is up to date with 'origin/master'.
    10 Changes to be committed:
    11 (use "git restore --staged <file>..." to unstage)
    12 new file: getemailss.py  #这里检查到项目有新增py文件

    命令之五:git commit

     我们在执行 git commit -m “add a python file” 的时候会拍摄项目的快照以记录代码库中所做的任何修改。git commit命令-m后面输入的是本次提交的说明,可以输入任意内容,当然最好是有意义的说明本次提交的内容的说明,这样你就能从历史记录里方便地找到改动记录。

    1  
    2 $ git commit -m “add a python file”
    3 [master cf7d8c4] add a python file
    4 1 file changed, 175 insertions(+)
    5 create mode 100644 module/wl/getemailss.py

    命令之六:git log

     我们需要查看提交历史,就可以使用 git log 命令查看

     1 $ git log
     2 commit ed599a2e597e3224665ef81822021e7c0ea4a0d1 (HEAD -> master, origin/master, origin/HEAD)
     3 Author: test.yan <jiaqiang.yan@wormpex.com>
     4 Date: Wed May 27 17:36:31 2020 +0800
     5  
     6  
     7 执行了命令五后我们再来看看git log 的输出是什么:
     8 $ git log
     9 commit cf7d8c46861f2291a859b10a2a939bbac9229eea (HEAD -> master)
    10 Author: testaaa<liang.wu@shangri-la.com>
    11 Date: Sun Aug 2 10:49:57 2020 +0800
    12  
    13 add a python file  #这个就是刚才的-m 后面的内容
    14  
    15 commit ed599a2e597e3224665ef81822021e7c0ea4a0d1 (origin/master, origin/HEAD)
    16 Author: test.yan <jiaqiang.yan@wormpex.com>
    17 Date: Wed May 27 17:36:31 2020 +0800

    备注:我的个人公众号已正式开通,致力于测试技术的分享,包含:大数据测试、功能测试,测试开发,API接口自动化、测试运维、UI自动化测试等,微信搜索公众号:“无量测试之道”,或扫描下方二维码:

     添加关注,让我们一起共同成长!

  • 相关阅读:
    OpenCV2:总结篇 PS算法实现
    DirectX9:第四部分 顶点着色器
    DirectX9:基础篇 第一章 初始化Direct3D
    OpenCV2:高中篇 图像锐化技术-边缘检测算子
    他山之石:C++书籍推荐
    C89:论回调函数
    OpenCV2:幼儿园篇 第六章 图像转换
    四维空间引发-维度空间(0-10)来自我的教授的班长
    802.11全家
    提示窗UIAlertView与UIAlertController的用法(持续更新中)
  • 原文地址:https://www.cnblogs.com/Wu13241454771/p/13572297.html
Copyright © 2011-2022 走看看