zoukankan      html  css  js  c++  java
  • git自己操作命令组集合

    git自己操作命令组集合

    一、总结

    一句话总结:

    1、官方有非常详细的中文文档资料,任何组件或者插件记得看有没有文档资料,这个用起来快,配合百度。

    2、git clone命令是直接把git仓库上面的代码clone下来,所以你可以注意一下git仓库代码的长相(文件层次结构)

    3、有(点).git的就是git本地仓库,git所有的配置都在里面的config文件里面

    4、git命令:直接就是git 加那些动词,然后可能有一些  -什么  的属性。

    二、将远程git的m_Orchestrate仓库的2018_4_18_second分支的代码弄到电脑上来

    1、在要放置代码的位置建一个文件夹,这里我建的文件夹名为m_Orchestrate(注意:这里不该新建目录, 应该直接拉到github目录下)

    全路径为:E:2017-02-21--SoftWarePHPSOFTWAREphpStudy_NewPHPTutorialWWWgithubm_Orchestrate

    也就是在github文件夹下面建了一个名为m_Orchestrate的文件夹

    2、获取github上面这个仓库的地址:(仓库上面2018_4_18_second分支地址和master分支的地址是一样的)

    这里是:https://github.com/fry404006308/m_Orchestrate.git

    3、用git clone命名把仓库里面的代码clone到上面建的文件夹里面

    3.1 打开git bash先跳转到上面的路径:

    cd E:\2017-02-21--SoftWare\PHP\SOFTWARE\phpStudy_New\PHPTutorial\WWW\github\m_Orchestrate

    3.2 执行clone命令克隆代码到上述文件夹

    全命令如下:git clone https://github.com/fry404006308/m_Orchestrate.git

    注意:此时新建文件夹m_Orchestrate里面的代码时master分支里面的代码,不是我们要的2018_4_18_second分支的代码

    4、然后git branch列出本地分支

    但是此时报错,显示当前目录不是一个仓库,的确不是一个仓库。

    所以此时如过切换到下一个m_Orchestrate文件夹就会显示是仓库了

    注意:说明最开始不应该在github下面建m_Orchestrate文件夹的。

    5、所以我们重新来,不再github文件夹下面建m_Orchestrate文件夹,直接把代码弄到github文件夹里面,其余上述步骤照旧

    5.1 进到github文件夹下

    cd E:\2017-02-21--SoftWare\PHP\SOFTWARE\phpStudy_New\PHPTutorial\WWW\github

    5.2 把https://github.com/fry404006308/m_Orchestrate.git仓库上面的代码克隆下来

    git clone https://github.com/fry404006308/m_Orchestrate.git

    5.3 进入 m_Orchestrate 文件夹,也就是进入git仓库

    cd m_Orchestrate

    5.4 新建本本地分支2018_4_18_second并将远程分支2018_4_18_second上的东西拉下来

    git checkout -b 2018_4_18_second origin/2018_4_18_second

    然后分支就成功切换了

    然后检查代码,发现代码也是远程分支2018_4_18_second上最新的。

    完成。

    三、自己常用的git命令集合

    cd E:\2017-02-21--SoftWare\PHP\SOFTWARE\phpStudy_New\PHPTutorial\WWW\github\m_Orchestrate
    git checkout -b 2018_4_18_second
    git pull https://github.com/fry404006308/m_Orchestrate.git
    git pull https://github.com/fry404006308/m_Orchestrate.git 2018_4_18_second
    
    
    提交
    git add .
    git commit -m "提交信息"
    git push -u origin 2018_4_18_second
    git push -u origin master
    
    
    
    初次
    git clone https://github.com/fry404006308/m_Orchestrate.git
    
    
    删除本地分支::git branch -d 2018_4_18_second
    切换分支: git checkout master
    新建本本地分支并将远程分支上的东西拉下来: 
    git checkout -b 2018_4_18_second origin/2018_4_18_second
    
    # 列出所有本地分支$ git branch
    # 列出所有远程分支$ git branch -r
    # 列出所有本地分支和远程分支$ git branch -a
    # 新建一个分支,并切换到该分支$ git checkout -b [branch]

    .git下的config文件就是显示的当前的一些用户,仓库地址信息

    四、官方文档阅读总结

    1、官网文档下载地址

    Git - Book
    https://git-scm.com/book/zh/v2

    2、一次提交就是一个指针

    3、分支合并中的快进(简单的指针右移)

    在合并的时候,你应该注意到了"快进(fast-forward)"这个词。 由于当前 master 分支所指向的提交是你当前提交(有关 hotfix 的提交)的直接上游,所以 Git 只是简单的将指针向前移动。 换句话说,当你试图合并两个分支时,如果顺着一个分支走下去能够到达另一个分支,那么 Git 在合并两者的时候,只会简单的将指针向前推进(指针右移),因为这种情况下的合并操作没有需要解决的分歧——这就叫做 “快进(fast-forward)”。

    4、分支合并中的三方合并

    这和你之前合并 hotfix 分支的时候看起来有一点不一样。 在这种情况下,你的开发历史从一个更早的地方开始分叉开来(diverged)。 因为,master 分支所在提交并不是 iss53 分支所在提交的直接祖先,Git 不得不做一些额外的工作。 出现这种情况的时候,Git 会使用两个分支的末端所指的快照(C4 和 C5)以及这两个分支的工作祖先(C2),做一个简单的三方合并。

    合并后:

    5、git只需要30多个命令动词就可以玩转了

    本书旨在讨论如何通过 checkout、branch、remote 等大约 30 个诸如此类动词形式的命令来玩转 Git。

    6、. git目录(git所有的东西)

    当在一个新目录或已有目录执行 git init 时,Git 会创建一个 .git 目录。 这个目录包含了几乎所有 Git 存储和操作的对象。 如若想备份或复制一个版本库,只需把这个目录拷贝至另一处即可。 本章探讨的所有内容,均位于这个目录内。

    7、Git对象(简单的键值对数据库)

    Git 是一个内容寻址文件系统。 看起来很酷, 但这是什么意思呢? 这意味着,Git 的核心部分是一个简单的键值对数据库(key-value data store)。 你可以向该数据库插入任意类型的内容,它会返回一个键值,通过该键值可以在任意时刻再次检索(retrieve)该内容。 可以通过底层命令 hash-object 来演示上述效果——该命令可将任意数据保存于 .git 目录,并返回相应的键值。

    8、Git引用(分支名)(看.git/refs 目录和能清晰)

    我们可以借助类似于 git log 1a410e 这样的命令来浏览完整的提交历史,但为了能遍历那段历史从而找到所有相关对象,你仍须记住 1a410e 是最后一个提交。 我们需要一个文件来保存 SHA-1 值,并给文件起一个简单的名字,然后用这个名字指针来替代原始的 SHA-1 值。

    在 Git 里,这样的文件被称为“引用(references,或缩写为 refs)”;你可以在 .git/refs 目录下找到这类含有 SHA-1 值的文件。

    五、合并分支

    1、先切换到主分支

    切换分支: git checkout master

    2、用git merge和并分支到主分支

    主分支合并2018_4_18_second分支:git merge 2018_4_18_second

     
     
     
     
     
     
     
  • 相关阅读:
    Nginx浅谈
    MySQL 规范
    使用nginx反向代理实现隐藏端口号
    -bash: /etc/profile: line 11: syntax error near unexpected token `$'{ ''报错问题解决
    为什么禁止在 foreach 循环里进行元素的 remove/add 操作
    Java中String字符串常量池
    前端学习路径
    Linux关闭防火墙命令
    CXF实现webService服务
    Jquery Ajax 的例子。
  • 原文地址:https://www.cnblogs.com/Renyi-Fan/p/9147871.html
Copyright © 2011-2022 走看看