zoukankan      html  css  js  c++  java
  • git操作

    1、本地代码管理

    工作区(Workspace):添加修改删除`文件

    暂存区(Index):将工作区中的操作完成小阶段的存储,是版本库的一部分

    本地仓库区(Respository): 对个人开发的一个小阶段代码存储

    • 记录的各版本可以查看或者回退

    • 但是在暂存区的版本一旦提交就再也没有了(保存到仓库区中)

     

    2、本地仓库操作

    1.安装git

    # 在虚拟机上安装
    sudo apt-get install git

     

    2.查看是否安装成功

    git --version

     

    3.初始化空的git文件

    git init

    # 初始化后运行以下命令会创建一个.git隐藏文件

    ls -a

     

    4.配置个人信息

    # 全局配置个人信息
    git config --global user.name "taka"    # taka是系统用户名称
    git config --global user.email "python@admin.com"
    
    # 配置信息会保存在家目录下
    pyvip@TL:~/MyProjects/.git$ more ~/.gitconfig
    [user]
        email = python@admin.com
        name = taka
        
    # 针对本项目的个人配置信息
    git config user.name "taka"
    git config user.email "python@admin.com"
    
    # 配置信息出现在.git/config文件中

    5.将工作区文件添加到暂存区

    # 添加项目中所有文件
    git add .
    
    或者
    # 添加指定文件
    git add test01.py

    6.查看文件状态

    git status

    7.将暂存区文件提交到仓库区

    git commit -m '一些描述'
    git push    # 推送到远程仓库上

    8.查看历史记录

    git log
    
    git reflog
    
    # git  reflog 可以查看所有分支的所有操作记录(包括commit和reset的操作),包括已经被删除的commit记录,git log 不能察看已经删除了的commit记录

    4.回退版本

    git reset --hard HEAD^     # 一个版本^ ,两个版本^^ ,如此类推

    方法一:

    • HEAD表示当前最新版本

    • HEAD^表示当前最新版本的前一个版本

    • HEAD^^表示当前最新版本的前两个版本,以此类推...

    • HEAD~1表示当前最新版本的前一个版本

    • HEAD~10表示当前最新版本的前10个版本,以此类推...

    方法二:

    当版本非常多时可选择的方案

    # 通过每个版本的版本号回退到指定版本
    git reset --hard 版本号

     

    5.撤销修改

    git checkout 文件名    # 撤销工作区代码

    撤销暂存区代码

    # 第一步:将暂存区代码撤销到工作区
    git reset HEAD  文件名
    # 第二步:撤销工作区代码
    git checkout 文件名

    6.版本对比

    # 对比本地仓库库与工作区
    # 在工作区,修改文件
      - `git diff HEAD -- test1.py`
    # 对比本地仓库各版本代码 - `git diff HEAD HEAD^ -- test1.py`

    7.文件删除

    确定删除处理

    # 删除文件
    rm 文件名
    # git确定删除文件,对比添加文件git add 
    git rm 文件名
    # 删除后记录删除操作版本
    git commit -m '删除描述'

    误删处理,撤销修改

    # 删除文件
    rm 文件名
    # git撤销修改
    git checkout -- 文件名

    7.远程仓库(码云)文件下载

    方法一(从远程仓库克隆下来):这个方法和远程仓库建立连接

    git clone git@gitee.com:goodguang/my***.git 
    
    #  git@gitee.com:goodguang/my***.git 是码云上的ssh

     查看本地仓库和远程是否建立连接(git remote -v

     方法二(从远程仓库克隆下来):这个方法只是把文件下载下来和远程仓库没有建立连接

    git pull git@gitee.com:goodguang/my***.git 
    
    #  git@gitee.com:goodguang/my***.git 是码云上的ssh

    如果文件不是一个git仓库需要先初始化 (git init)

    和远程仓库建立连接

    git remote add name git@gitee.com:goodguang/my***.git
    
    # name为连接名称,可以随便

    删远程仓库

    git remote  # 查看所在的远程仓库连接名称
    
    
    git remote rm name  # 删除远程仓库连接

    问题:远程仓库文件和本地仓库文件冲突

    解决:1、强制推送,会覆盖远程仓库的文件

    git push origin +master    # 强制推送
    
    # 或者:
    git push -u name master   # name为远程仓库的名称

    解决:2、先下载远程仓库的文件再上传到远程仓库

    # 下载远程仓库文件
    git pull origin master --allow-unrelated-histories
    
    # 然后再上传到远程仓库
    git push

     

  • 相关阅读:
    对宏的另外一些认识 及 assert.h的实现细节
    不要想太多
    线段树
    SQL基础 利用SELECT检索数据
    hidden表单值无法重置的缺陷
    oracle 数据库登陆
    基于ejb3,对JDBC进行封装,让使用JDBC时能像hibernate使用annotation注解一样简便,而且更加轻巧
    GoJS的一些使用技巧
    GoJS的学习使用
    灵活使用trim方法
  • 原文地址:https://www.cnblogs.com/jun-1024/p/10966705.html
Copyright © 2011-2022 走看看