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

  • 相关阅读:
    HTML5定位功能,实现在百度地图上定位
    很好用的API管理--Swagger
    依赖注入原理---IoC框架
    c# asp.net 修改webconfig文件 配置
    逗比的快钱支付
    MVC 5限制所有HTTP请求必须是POST方式
    富头像上传编辑器----很好用的上传照片和拍照功能
    .NET中的DES对称加密
    无聊搭1个框架
    PHP高效率写法
  • 原文地址:https://www.cnblogs.com/augustuss/p/13978722.html
Copyright © 2011-2022 走看看