zoukankan      html  css  js  c++  java
  • git的基本用法

    版本控制:

      版本控制:程序都有一个开发过程,可能一段时间才能更新一个功能,这就要求多个版本同时需要保存,而且一旦出错需要马上回滚到上一个版本,为了解决这样的版本控制问题,产生了一些版本控制工具:VSS、CVS、SVN、Git等,其中Git属于霸主地位。

    一般版本控制工具包含两部分:

    • 客户端(本地):本地编写内容以及版本记录
    • 服务端(网盘):将内容和版本记录同时保存在远程

    git介绍:

      git是一个开源的分布式版本控制软件,用有效高速的处理从很小到非常大的项目版本管理,可以做到版本控制,但只能讲版本记录保存到本机如需将文件及版本记录保存到远程,则需要结合github来使用。

      github是一个基于git的远程文件托管平台(同GitCafe、BitBucket和GitLab等)。

      不管是git还是gitlub它们都会在本地.git文件夹内维护历时文件,gitlub除了在本地.git文件夹内维护,而且同时将历时文件托管在远程仓库

    其他:

    集中式:远程服务器保存所有版本,用户客户端一口某个版本

    分布式:远程服务器保存所有版本,用户客户端有所有版本

    git的基本用法:

    首先下载安装git

    官网下载地址:https://git-scm.com/downloads

    具体命令,及操作流程:

    首先进入需要版本控制的项目文件夹,然后鼠标右击选择Git Bash Here进入命令窗口

    $ git init                                     #git初始化
    Initialized empty Git repository in E:/daimacunfangmulu/starkweight/.git/
    
    
    $ git status                                 #查看当前git状态 
    On branch master
    
    No commits yet
    
    Untracked files:
      (use "git add <file>..." to include in what will be committed)
    
            .idea/
            app01/
            app02/
            db.sqlite3
            manage.py
            stark/
            starkweight/
            templates/
    
    nothing added to commit but untracked files present (use "git add" to track)
    
    $ git add db.sqlite3                       #添加db.sqlite3文件到版本库
    
    $ git add .                                   #添加当前目录下所有文件到版本库   
    
    $git commit -m ' 第一次提交'          #提交到版本库,并填写版本说明,以便以后回滚

    执行git commit 命令时,可能会提示进行用户和邮箱的配置,改配置用于记录当前版本由哪个用户提交

    • git config --global user.emial "2280196050@qq.com"
    • git config --global user.name "kxl"

    git 把管理的文件分为两个区域四个状态:

    工作区:当前开发程序所在目录称为工作区,该区域的文件会有状态的变化且状态由git自动检测,如果程序中文件做任何改变,文件状态均会被检测到,状态可以用$git status命令来查看:

    $ ls                                         #查看原程序目录
    app01/  app02/  db.sqlite3  manage.py*  stark/  starkweight/  templates/
    
    
    $ git status                               #查看git当前状态
    On branch master
    nothing to commit, working tree clean
    
    
    $ touch 111.py                            #创建新文件
    $ ls                                            
    111.py  app02/      manage.py*  starkweight/
    app01/  db.sqlite3  stark/      templates/
    
    
    $ git status                     #创建新文件后查看状态会出现新文件而且显示红色证明工作区111.py发生变化
    On branch master
    Untracked files:
      (use "git add <file>..." to include in what will be committed)
    
            111.py
    
    nothing added to commit but untracked files present (use "git add" to track)

    版本库:工作区检测到有文件发生变化,那么意味着上一个版本之后对程序进行了修改,修改完成之后,可以做为下一版本进行提交,那么久实执行$git add .将所有文件提交到暂存区,然后在执行$git commit -m '新版本'提交到版本库的分支即可,之后可使用$git log命令查看版本记录

    $ ls                                         #查看原程序目录
    app01/  app02/  db.sqlite3  manage.py*  stark/  starkweight/  templates/
    
    
    $ git status                               #查看git当前状态
    On branch master
    nothing to commit, working tree clean
    
    
    $ touch 111.py                            #创建新文件
    $ ls                                            
    111.py  app02/      manage.py*  starkweight/
    app01/  db.sqlite3  stark/      templates/
    
    
    $ git status                     #创建新文件后查看状态会出现新文件而且显示红色证明工作区111.py发生变化
    On branch master
    Untracked files:
      (use "git add <file>..." to include in what will be committed)
    
            111.py
    
    nothing added to commit but untracked files present (use "git add" to track)
    
    $ git add .                       #将所有修改过的文件添加到暂存状态
    $ git status
    On branch master
    Changes to be committed:
      (use "git reset HEAD <file>..." to unstage)
    
            new file:   111.py                  #查看状态时111.py的颜色变为绿色,表示在版本库的从暂存状态
    
    $ git commit -m '新版本'             #提交到版本库的分支
    [master 6d919cc] 新版本
     1 file changed, 0 insertions(+), 0 deletions(-)
     create mode 100644 111.py
    
    $ git log                      #查看历史版本提交记录(根据commit值进行回滚)
    commit 6d919cc6480379b1900442c024d1e86a778970dd (HEAD -> master)
    Author: kxl <2280196050@qq.com>
    Date:   Thu Apr 12 19:01:43 2018 +0800
    
        新版本
    
    commit efa64a78aaefc881e0fa7d263c0ba0a3039130a3
    Author: kxl <2280196050@qq.com>
    Date:   Thu Apr 12 12:53:16 2018 +0800
    
        第一次

    以上已使用Git的四个命令,这四个命令已经可以在本地对项目版本进行管理了:

    • git init                                   初始化
    • git status                               查看git当前状态,哪些文件修改过吗,哪些文件还未提交到版本库等
    • git add 文件名                       将指定文件添加到版本库的暂存状态
    • git commit -m '提交信息'        将暂存区的文件提交到版本库的分支
    • git log                                    查看提交记录,即:历史版本记录

     后续更新。。。。。。

  • 相关阅读:
    关于celery踩坑
    关于git的分批提交pull requests流程
    SymGAN—Exploiting Images for Video Recognition: Heterogeneous Feature Augmentation via Symmetric Adversarial Learning学习笔记
    AFN—Larger Norm More Transferable: An Adaptive Feature Norm Approach for Unsupervised Domain Adaptation学习笔记
    Learning to Transfer Examples for Partial Domain Adaptation学习笔记
    Partial Adversarial Domain Adaptation学习笔记
    Partial Transfer Learning with Selective Adversarial Networks学习笔记
    Importance Weighted Adversarial Nets for Partial Domain Adaptation学习笔记
    Exploiting Images for Video Recognition with Hierarchical Generative Adversarial Networks学习笔记
    improved open set domain adaptation with backpropagation 学习笔记
  • 原文地址:https://www.cnblogs.com/kxllong/p/8809895.html
Copyright © 2011-2022 走看看