zoukankan      html  css  js  c++  java
  • __Git学习

    学习内容来源:

    1. 廖雪峰Git学习教程
    2. 码云学习小应用

    廖雪峰Git教程

    集中式和分布式

    集中式:集中存放在中央服务器、必须联网

    分布式:每个人电脑上都是完整的版本库,需要协同的时候可以自己去推送push给接收方,或者才能够发送端pull下来需要的代码。

    安装Git

    自行百度,这块我使用已经安装好Git的wsl-ubuntu进行学习

    创建版本库

    git init用来将当前目录变成git可以管理的目录。

    git add添加文件,git commit提交文件

    时光穿梭机

    git status查看修改状态

    git diff查看修改

    版本回退

    git log查看提交日志,退出可能需要按一下q

    git log --pretty=oneline单行显示日志

    HEAD表示当前版本,HEAD^表示上一个版本,HEAD^^表示上上一个版本,HEAD~100表示HEAD以上100个版本。

    git reset可以回退到历史版本。git reset --hard HEAD^回到了上一个版本。git reset --hard commit_id回到指定id。

    git reflog可以查看历史命令。

    工作区和暂存区

    工作区:就是当前git仓库所在的目录,除了.git版本库之外。

    版本库:里面存了很多东西,

    其中最重要的就是称为stage(或者叫index)的暂存区,还有Git为我们自动创建的第一个分支master,以及指向master的一个指针叫HEAD

    管理修改

    Git管理的是修改,git add将修改提交到暂存区Stage里面,git commit将修改提交到当前分支上。

    撤销修改

    git checkout --filename可以丢弃工作区的修改!

    没有--就会变成切换到另一分支!

    git checkout 既可以,,也可以。

    git reset HEAD <file>...可以清掉暂存区里面的文件。

    git reset命令既可以回退版本, 也可以把暂存区的修改回退到工作区。 当我们用HEAD时, 表示最新的版本。

    git reset既可以,,也可以。

    删除文件

    文件管理器删除文件之后

    git rm可以从当前版本库里面删除文件,之前commit过的文件在被删除之后也能回退。。

    git checkout --可以从版本库里面将被删掉的文件恢复。

    远程仓库(杀手锏之一)

    建了一个gitee账户,添加ssh公钥。OK

    添加远程仓库

    git remote add origin https://gitee.com/dluff/learngit.git
    #上面将添加一个名为origin的远程仓库
    git push -u origin master
    #将本地库的素有内容推送到远程仓库上
    #把本地库的内容推送到远程, 用git push命令, 实际上是把当前分支master推送到远程。
    #由于远程库是空的, 我们第一次推送master分支时, 加上了-u参数, Git不但会把本地的master分支内容推送的远程新的master分支, 还会把本地的master分支和远程的master分支关联起来, 在以后的推送或者拉取时就可以简化命令。
    

    git push origin master把本地master分支的最新修改推送到GitHub。

    从远程仓库克隆

    记住git clone就可以了。

    分支管理

    在合并之前,分支应该是别人看不到的。

    创建于合并分支

    git checkout -b dev创建并切换到dev分支。

    等价于git branch dev+git checkout dev

    git branch卡伊查看当前的分支状况。

    git merge用来合并制定分之道当前分支。

    git branch -d用来删除分支。

    Git鼓励你使用分支完成某个任务, 合并后再删掉分支, 这和直接在master分支上工作效果是一样的, 但过程更安全。

    解决冲突

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

    git log --graph可以看到分支合并图。

    分支管理策略

    首先, master分支应该是非常稳定的, 也就是仅用来发布新版本, 平时不能在上面干活;

    那在哪干活呢? 干活都在dev分支上, 也就是说, dev分支是不稳定的, 到某个时候, 比如1.0版本发布时, 再把dev分支合并到master上, 在master分支发布1.0版本;

    你和你的小伙伴们每个人都在dev分支上干活, 每个人都有自己的分支, 时不时地往dev分支上合并就可以了。

    团队合作的分支看起来就像是这样:

    image-20200315235526787

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

    Bug分支

  • 相关阅读:
    U盘文件被隐藏的解决办法
    Regex 符号说明
    HTML特殊字符编码对照表
    Regex 常用
    String decryption with de4dot
    使用Topshelf创建Windows服务[转载]
    de4dot Deobfuscator for .NET
    [原创]extjs htmleditor增加截图快速粘贴功能 插件
    de4dot FAQ
    Cache缓存
  • 原文地址:https://www.cnblogs.com/dluff/p/12501240.html
Copyright © 2011-2022 走看看