zoukankan      html  css  js  c++  java
  • Git的初步学习

    标题图

    前言

    感谢! 承蒙关照~

    Git的初步学习

    为什么要用GitGithub呢?它们的出现是为了用于提交项目和存储项目的,是一种很方便的项目管理软件和网址地址.

    效果

    接下来看看,一家公司的基本流程图:

    效果

    集中式->分布式->托管网站

    之前项目管理的日子:

    效果

    项目开发,版本控制系统.

    -v1.0
    -> 文件
    -v1.1
    -> 文件
    

    本地版本控制系统

    效果

    慢慢地有了项目管理系统加入,集中式的控制系统:

    集中化的版本控制系统

    (Centralized Version Control Systems,简称 CVCS)
    

    效果

    效果

    分布式版本控制系统

    Distributed Version Control System,简称 DVCS
    

    效果

    效果

    Git的特点:

    效果

    Git的功能:

    效果

    Git简介:

    Git是一个伟大的创新,到 2002 年,项目组开始启用一个专有的分布式版本控制系统 BitKeeper管理和维护代码。

    版本控制系统,就是一个名词而已吧,Git 是为了方便人们而发明的,当我们每次写完代码时,提交到 Github 上时,我们会记录下提交说明,简述该代码写了什么内容,做了哪些更改,能够方便记录,在 Github 上回记录你代码的增删情况,就可以了解你每次做了什么,改过什么,很方便也对他人了解你的操作行为。

    当你进行结对操作项目时,你的伙伴能通过了解提交说明了解你的行为操作。

    Git的三种状态,为已提交(committed)、已修改(modified)和已暂存(staged

    已经提交表示数据已经安全的保存在本地数据库中,已经修改表示修改了文件,但是没有保存到数据库中,要进行提交,已暂存表示对一个修改的文件进行标记,然后提交时,包含在其中.

    我们先下载Git,安装Git
    Git下载网站为:
    https://git-scm.com/downloads

    Git官方文档地址:
    https://git-scm.com/book/zh/v2
    https://git-scm.com/download/mac
    https://git-scm.com/download/win

    Windows 上安装

    效果

      $ tar -zxf git-2.0.0.tar.gz
      $ cd git-2.0.0
      $ make configure
      $ ./configure --prefix=/usr
      $ make all doc info
      $ sudo make install install-doc install-html install-info
    

    使用Git来升级:

      $ git clone git://git.kernel.org/pub/scm/git/git.git
    

    建议使用这个网址安装:

    http://git-scm.com/download/win
    

    我们在用Git的时候,有三个工作区域的概念:

    1. Git仓库
    2. 工作目录
    3. 暂存区域

    Git仓库是用来保存项目文件的地方,工作目录是对项目的某个版本独立提取出来的内容,暂存区域是一个文件,保存了下次将要提交的文件信息.

    效果

    效果

    小图标:

    效果

    设置账号:

    如何设置账号,首先你要去 github 网站上进行注册,拥有自己的账号先:

    打开你下载好的 GIT,“Git Bash” 软件

    $ git config --global user.name “your_name”
    $ git config --global user.name "your_email@example.com"

    做好配置user.nameuser.email.

    Git获取帮助

    获取Git命令手册:

    $ git help <verb>
    $ git <verb> --help
    $ man git-<verb>
    

    获取config命令手册:

    $ git help config
    

    git config 的工具来帮助设置控制 Git 外观和行为的配置变量:

    /etc/gitconfig 文件: 包含系统上每一个用户及他们仓库的通用配置
    ~/.gitconfig 或 ~/.config/git/config 文件:只针对当前用户
    .git/config:针对该仓库
    

    创建版本库

    右键鼠标点击Git Bash

    $ git init url
    

    然后添加文件,使用命令git add <file>,接着使用git commit -m "信息介绍",就大功告成了!

    查看配置

    可以使用 git config --list 
    // 显示配置
    // 列出所有 Git 当时能找到的配置
    git config --list [--local | --global | --system]
    
    local:区域本仓库
    global: 当前用户的所有仓库
    system: 本系统的所有用户
    
    git config --local 只对某个仓库有效
    git config --global 对所有用户的仓库有效
    git config --system 对系统所有登录的用户有效
    
    git config --list --global
    git config --list --system
    git config --list --local
    
    // git config
    --get 
    --get-all
    --get-regexp
    --get-urlmatch
    --replace-all
    --add
    --unset
    --unset-all
    --rename-section
    --remove-section
    --list or --l
    --edit or --e
    --get-color
    --get-colorbool
    

    一些 Git 操作

    创建版本库:

    mkdir repository
    cd repository
    

    通过使用 Git bash git init 命令把该目录变成 Git 可以管理的仓库,就是可以放代码的目录了,好像粮仓一样,很爽!!!

    git add text
    git commit -m "imformation"
    
    git status 查看仓库状态(告诉你有文件被修改过)
    git diff 查看修改过的内容
    git status 提交后查看状态
    
    // 版本和命令历史
    git log 查看提交历史
    git reflog 查看命令历史
    
    // 删除文件
    $ git rm <file>
    $ git commit -m "信息"
    
    // 误删
    $ git checkout -- <file> 返回原文件
    
    // 撤消操作-漏掉了几个文件没有添加,或者提交信息写错了-将暂存区中的文件提交
    $ git commit --amend
    
    $ git commit -m 'initial commit'
    $ git add forgotten_file
    $ git commit --amend
    
    // 打标签
    $ git tag
    v0.1
    v1.3
    

    创建Git仓库

    $ cd 项目代码所在目录下的文件夹
    $ git init
    

    手把手教你如何把项目或代码提交到Github托管

    从远程库克隆, 启动 Git Bash 命令行

    首先打开你的github,点击新建项目,点击new repositories ,然后直接给项目命名就好了.

    克隆仓库的命令格式是
    git clone [url]

    $git clone git@.....git
    

    打开命令行,输入下方:
    复制地址就是:https://github.com/…./Test.git

    点击这里复制链接即可:

    效果

    // 输入
    // 目录下初始化一个 .git 文件夹
    $ git clone https://github.com/…
    $ cd test
    前提下你得把你的项目复制放进test路径下。
    $ git add .
    $ git commit -m “changes log”
    $ git push origin master
    

    注意如果每次修改完成后,如果没有使用add添加的命令,那么修改的代码会在暂存区中,而直接使用commit的话,是不会看到修改后的代码所在的.

    总结:

    mkdir 为建立文件夹
    mkdir images 文件夹名为images
    

    工作目录->暂存区->版本历史

    git add files 为从工作目录中修改的代码放入暂存区
    git commit 为从暂存区中修改的代码提交,变为版本历史
    li -al 遍历文件
    git add -u 修改的文件一起提交
    git reset --hard 清除暂存区和工作区
    // 重命名文件
    git mv index index.md
    git status
    
    $ git status 先查看
    $ git add index.html images 添加暂存区文件,可以多个文件名
    $ git status 查看是否提交
    

    说明

    效果

    如何看版本历史

    git log // 按提交时间列出所有的更新
    // 使用不同于默认格式的方式展示提交历史
    $ git log --pretty=oneline
    git log --online // 非常简洁,有什么历史
    // 简略的统计信息
    $ git log --stat
    // -2 仅显示最近两次提交
    $ git log -p -2
    git log -n4 --online 看最近的历史消息
    git branch -v 看本地有多少分支
    git checkout -b dashu 223343232 // 分支 , 修改分支
    // ls -al 
    // git commit -am'test'
    bit branch -av
    git log --oneline --all // 分支所有呈现
    

    图形界面工具gitk

    输入:

    效果

    gitk
    

    都可以进行了解学习

    效果

    效果

    查看.git目录

    ls -al // 列出列表
    .git
    cd .git
    ls -al
    cat .git // 查看文件
    

    commit每次的变更,treeblob

    blob指具体的某个文件,blob跟文件名没关系,gitblob文件内容相同就是一个东西.大树包小树,到文件.

    commit->
    tree
    parent
    author
    ...
    

    命令:

    git cat-file -p 23452324
    tree 23434323
    parent
    author
    committer
    
    git cat-file -p 23434323
    tree
    blob 2324335
    blob
    tree
    
    git cat-file -p 2324335
    

    一个commit由多少个treeblob

    一个commit,两个tree和一个blob,和一个commit.

    commit
    tree
    parent
    author
    
    tree
    tree doc
    tree
    blob readme
    
    blob hello
    

    文档:
    https://git-scm.com/book/zh/v2

    1. 创建或者克隆一个仓库
    2. 更改、暂存并提交

    达叔小生:往后余生,唯独有你
    You and me, we are family !
    90后帅气小伙,良好的开发习惯;独立思考的能力;主动并且善于沟通
    简书博客: 达叔小生
    https://www.jianshu.com/u/c785ece603d1

    结语

    • 下面我将继续对 其他知识 深入讲解 ,有兴趣可以继续关注
    • 小礼物走一走 or 点赞
  • 相关阅读:
    转载:生产级实践之集群搭建方案系列PostgreSQL主从部署搭建与配置 规格严格
    在my.cnf中设置lower_case_table_names = 1 无效的解决方法【转载】 规格严格
    Druid sql解析 规格严格
    powa 规格严格
    【snmp】snmpwalk 指定端口 规格严格
    Chrome您的连接不是私密连接解决办法 规格严格
    MEF程序设计指南九:重组(Recomposition)MEF部件
    MEF程序设计指南八:部件生命周期(Parts Lifetime)托管
    项目管理学习笔记二:信息系统服务管理
    项目管理学习笔记一:信息化知识
  • 原文地址:https://www.cnblogs.com/dashucoding/p/11140375.html
Copyright © 2011-2022 走看看