• git学习笔记二


    一,      版本控制

    Git是全量更新。Git的每一个版本中都包含所有的文件,比如从version1到version2,我只更新了A文件,但是version2中包含了修改后的所有文件(最新的)。这样可以时刻保证数据的完整性。

     

    二,      Git的四种状态

     

    1,         已修改(modifid)

    2,         已暂存(staged)

    3,         已提交(commited)

    三,      操作

    1,         删除本地git仓库(.git文件)

    rm –rf .git

    2,         查看当前git状态

    Git status

    3,         合并add和commit

    Git commit –am “注释”

    4,         把暂存区的内容回退(回退到工作区)

    git rm - -cached hello.txt

    或git reset HEAD hello.txt

    添加到工作区:git add hello.txt

    5,         删除已提交(commited)的文件

    方式一:

    git rm hello.txt  删除后的文件被放到了暂存区

    然后再执行commit才算彻底删除:git commit –m “彻底删除hello.txt”

    如果执行了git rm hello.txt后,后悔删除了,怎么办:

    现在文件在暂存区,执行:git reset HEAD hello.txt ,

    此时文件回到工作区了,然后再执行:git checkout - - hello.txt

    方式二:

    rm hello.txt  这是linux命令删除,

    这时必须git add .   git commit 才彻底删除

    6,         修改注释(提交时的注释写错了,怎么修改?)

    git commit - -amend –m “新注释”

    7,         忽略文件(.gitignore文件)

    *通配任意字符

    *.properties  忽略所有.properties文件

    !b.proterties  除了b.proterties文件

    8,         放弃对工作区的修改

    git checkout - - hello.txt  撤销对工作区的修改。(有时候我们用ctrl +z 不能回退到没修改之前的状态,这个很有用)

         

    9,         查看git日志

    Git log  

    Git log - -graph   图形化日志

    Git log - -graph - -pretty=oneline - -abbrev-commit

    git log -2 查看最近两次的提交

    git log –pretty=oneline  日志在一行显示

    git log – pretty=format:”%h - %an , %ar:%s” 自定义日志格式

    10,      Linux命令

    Ctrl + a 、ctrl + e  移动光标到头,尾

    Ctrl + c  当前行写错了,放弃执行当前这一行

    echo ‘hello’ > hello.txt  修改文件(覆盖)

    查看文件内容 cat hello

    四,      设置用户名密码

    1,         命令

    git config - -global  给整个计算机一次性设置,基本不用

    git config - -system  给当前用户一次性设置,推荐

    git config - -local  给当前项目一次性设置

    优先级:local > system > global

    2,         实际操作

    进入到一个项目中,然后进入到 该项目的 .git目录下,执行:

    git config - -local user.name “yourname”

    git config - -local user.email “youremail”

    进入到 .git目录下,打开config文件,可以看到用户名和密码被加入了,

    存放在了.git目录下的config文件中

    如果是给当前用户一次性设置:

    那么需要:

    cd ~  (进入了系统用户目录:/c/Users/yaming/.gitconfg)

    cat .gitconfig   (用户的config文件,给用户设置邮箱和名字,就保存在这个文件里了)

    git config - -system user.name “yourname”

    git config - -system user.email “youremail”

    删除用户名邮箱:

    git config - -local - -unset user.name

    git config - -local - -unset user.email

    五,      分支操作

    1,         命令

    创建分支git branch branchen_ame

    查看分支 git branch   (git branch –r  查看远程分支)

    切换分支 git checkout branch_name

    删除分支 git branch –d branch_name(删除前需要先合并到主分支)

    强行删除 git branch –D branch_name

    创建并切换分支 git ckeckout –b branch_name

    合并分支(到master) git merge branch_name

    查看分支最近一次提交的信息 git branch -v

    2,         细节

    如果在分支a中进行了写操作,但是此操作局限在工作区中进行(没有add,commit),在master中能够看到该操作。

    如果分支a中进行了写操作,并进行了commit,则master中无法看到该文件。并且此时可以直接删除分支a。

    3,         分支

    分支是一个commit链,一条工作记录线

     

    六,      分支合并与冲突

    1,         分支指向commit, HEAD指向当前分支的头部(分支名)

     

    2,         当切换到dev时,HEAD会指向dev

    执行:git  checkout –b dev

     

    3,         对dev分支进行两次commit后,此时dev在master的前面了

     

    4,         把dev分支合并到master。Master就可以直接追赶上dev了。追赶这个动作称之为fast forward。fast forward 本质是指针的移动。

    执行 git merge dev

     

    合并后master和dev指向同一个commit

     

    5,         分支冲突

    解决冲突:修改文件

    Git add .    git commit

    七,      版本穿梭

    1,         在多个commit之间进行穿梭。回退,前进

    回退到上一次commit : git reset - -hard HEAD^

    回退到上两次commit : git reset - -hard HEAD^^

    回退到上n次commit : git reset - -hard HEAD~n

    切换到任意commit处(通过sha1值,直接回退):git reset - -hard 850bc999(sha1值的前几位就行)

    查看所有log:git reflog

  • 相关阅读:
    Outline of the research(updated 8th,Aug)
    Similarity metrics(Updated Aug,8th)
    Experiments on the NYC dataset(updated 7th,Aug)
    Fused Matrix Factorization & some personal thoughts (Updated 1st,Aug,afternoon)
    Java——图片读取与存储
    Java——setBounds的用法以及居中的方式
    linux 常用命令整理----解压缩
    周一01.4安装PyCharm步骤
    周一01.2 计算机硬件&操作系统
    周一01.3Python多版本共存&pip环境变量设置
  • 原文地址:https://www.cnblogs.com/inspred/p/11421507.html
Copyright © 2020-2023  润新知