zoukankan      html  css  js  c++  java
  • Git学习笔记

    1.Git配置命令

    git config --global user.name "Your Name"
    git config --global user.email "email@example.com"

    设置全局的名称和Email地址。

    2.初始化Git仓库

    git init

    初始化一个Git仓库。

    3.添加文件到Git仓库

    git add <file>

    将文件添加到Git仓库,可重复执行,并且也可以直接将<file>替换成.来将所有修改文件添加到Git仓库。

    4.提交文件到Git仓库

    git commit -m <message>

    提交已添加的文件,其中<message>为提交日志信息。

    5.掌握工作区的状态

    git status

    查看仓库当前的状态。

    6.查看修改内容

    git diff

    查看文件的修改内容。

    7.查看日志信息

    git log --pretty=oneline

    查看提交日志记录。

    8.版本回退

    git reset --hard HEAD^

    回退到上一个版本。其中HEAD代表当前版本,HEAD^代表上一个版本,HEAD^^代表上两个版本,HEAD~100代表上100个版本。


    git reset --hard commit_id

    回退到指定提交id所对应的版本,其中commit_id不需要写全。

    9.查看命令历史

    git reflog

    查看你执行过的每一次命令

    10.暂存区的概念

    通过git add命令将文件放入暂存区,通过git commit -m "xxx"把文件放入当前分支,此时暂存区就没东西了。

    一般的工作过程都是如此,工作区→暂存区→当前分支。

    11.撤销修改

    git checkout -- <file>

    撤销工作区的修改。总之就是让文件回到上一次commit或者add时的状态。


    git reset HEAD <file>

     撤销暂存区的修改。

    12.删除文件

    git rm <file>

     将版本库中的文件删除。如果先将工作区的文件手动删除了,那么和add命令一致。

    13.远程仓库

    ssh-keygen -t rsa -C "youremail@example.com"

    创建自己的SSH key,一般存在于用户主目录的.ssh文件夹中,里面有id_rsaid_rsa.pub两个文件,这两个就是SSH Key的秘钥对,id_rsa是私钥,不能泄露出去,id_rsa.pub是公钥,可以放心地告诉任何人。

    创建完自己的SSH key之后,就可以在GitHub、码云之类的远程仓库平台上添加上你的公钥,然后你就可以在该机器上进行推送了。


    git remote add origin git@github.com:lxr17/learngit.git

    将本地仓库与远程仓库相关联,其中origin为远程仓库的名字,也可以改成其他名字。

    14.推送至远程库

    git push -u origin master

    把本地库master分支的内容推送到远程库origin-u命令会把本地master分支和origin远程仓库的master分支关联起来,之后可以简化命令。


    git push origin master

    把本地库master分支的内容推送到远程库originmaster分支上。

    15.仓库克隆

    git clone git@github.com:lxr17/learngit.git

    从远程克隆一个仓库到本地。

    16.创建分支

    git checkout -b dev

    创建一条dev分支并切换到dev分支上,其中-b表示创建并切换。


    git branch dev

    创建一条dev分支。

    git checkout dev

    切换到dev分支上。

    17.查看当前分支

    git branch

    查看当前分支。

    18.合并分支

    git merge dev

    dev分支合并到当前分支上。

    Fast-forward的意思是表示此次合并为“快进模式”,也就是直接把master分支指向dev的当前提交,所以合并速度非常快。

    当git无法自动合并分支时,就必须首先解决冲突。解决冲突后,再提交,合并完成。

    解决冲突就是把git合并失败的文件手动编辑为我们希望的内容,再提交。

    19.删除分支

    git branch -d dev

    删除dev分支。

    20.查看分支合并图

    git log --graph

    21.Fast-forward模式

    Fast forward模式在删除分之后会丢掉分支信息。如果要强制禁用Fast-forward模式,Git就会在merge时生成一个新的commit,这样,从分支历史上就可以看出分支信息。


    git merge --no-ff -m "message" dev

    禁用Fast forward模式下的合并分支,将dev分支合并到当前分支,由于会创建一次新的commit,所以要加上-m参数。

    合并分支时,加上--no-ff参数就可以用普通模式合并,合并后的历史有分支,能看出来曾经做过合并,而Fast forward合并就看不出来曾经做过合并。

    22.储藏

    git stash

    可以把当前工作现场“储藏”起来,等以后恢复现场后继续工作。


    git stash list

    可以获取到“储藏”的工作现场。


    git stash apply

    用于恢复工作现场。


    git stash drop

    用于删除stash内容。


    git stash pop

    用于恢复工作现场的同时删除stash内容。


    git stash apply stash@{0}

    恢复至指定的stash

    23.强制删除分支

    git branch -D dev

    强制删除dev分支,用于丢弃一个没有被合并过的分支。

    24.查看远程库信息

    git remote -v

    查看远程库详细信息。


    git remote

    查看远程库信息。

    25.推送分支

    git push origin dev

    将本地的dev分支推送到远程库origin上。

    当从远程库clone时,默认情况下会将本地的master分支与远程的master分支相关联。

    26.创建分支并关联

    git checkout -b dev origin/dev

    创建一个本地分支dev,并与远程库origindev分支相关联。

    27.将本地分支与远程分支相关联

    git branch --set-upstream-to=origin/dev dev

    将本地分支dev与远程库origindev分支相关联。

    28.变基

    git rebase

    把本地未push的分叉提交历史整理成直线。(不是很明白)

    29.标签

    就是一个让人容易记住的有意义的名字,它跟某个commit绑在一起。

    30.创建标签

    git tag v1.0

    在最新提交的commit上打标签。


    git tag v0.9 f52cb63

    给某次commit打标签。


    git tag -a v0.1 -m "version 0.1 released" 1094adb

    创建带有说明的标签。

    31.查看标签

    git tag

    查看所有标签。


    git show v0.9

    查看标签的详细信息。

    32.删除标签

    git tag -d v0.1

    用于删除某个标签。

    33.推送标签

    git push origin v1.0

    将标签推送到远程库。


    git push origin --tags

    将本地所有标签推送到远程库。

    34.删除远程标签

    git push origin :refs/tags/v0.9

    用于删除一个远程标签。

    35.忽略特殊文件

    在Git工作区的根目录下创建一个特殊的.gitignore文件,然后把要忽略的文件名填进去,Git就会自动忽略这些文件。

    检验.gitignore的标准是git status命令是不是说working directory clean

    36.配置别名

    git config --global alias.st status

    告诉Git,以后用st代替status

  • 相关阅读:
    Python 学习笔记 11.模块(Module)
    Python 学习笔记 8.引用(Reference)
    Python 学习笔记 9.函数(Function)
    Python 学习笔记 6.List和Tuple
    Python 学习笔记 4.if 表达式
    Python 学习笔记 2.自省
    Python 学习笔记 3.简单类型
    Python 学习笔记 7.Dictionary
    Python 学习笔记 5.对象驻留
    Python 学习笔记 10.类(Class)
  • 原文地址:https://www.cnblogs.com/lanxingren/p/10115407.html
Copyright © 2011-2022 走看看