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 点赞
  • 相关阅读:
    494 Target Sum 目标和
    493 Reverse Pairs 翻转对
    492 Construct the Rectangle 构建矩形
    491 Increasing Subsequences 递增子序列
    488 Zuma Game 祖玛游戏
    486 Predict the Winner 预测赢家
    485 Max Consecutive Ones 最大连续1的个数
    483 Smallest Good Base
    Django Form组件
    Django Auth组件
  • 原文地址:https://www.cnblogs.com/dashucoding/p/11140375.html
Copyright © 2011-2022 走看看