zoukankan      html  css  js  c++  java
  • Git与Github操作指南(入门)

    1.Git的操作

    参考:
    廖雪峰的Git教程
    git Fast-forward与no-ff的区别
    Git 官方文档

    1.创建版本库

    1.1 寻找一个适合的地方

    $ mkdir version_nam
    

    1.2 windows系统中确保目录不含中文名。(使用pwd查看绝对路径)

    2.初始化版本库

    $ git init
    

    2.1 初始化成功后会显示

    Initialized empty Git repository in D:/Git/.git/
    

    3.把文件添加到版本库

    3.1 添加到暂存区:

    $ git add readme.txt
    

    这里假设我新建的是一个readme.txt文档 。你的文档则修改readme.txt即可。

    3.2 提交到当前分支:

    $ git commit -m djdjd
    

    参数解释:

    1. -m的意思是关于这个提交的描述。通常是默认必须跟一个描述,作用是便于自己和其他人了解你提交的内容。

    note:git commit命令可以一次提交多个相同文件夹的内容。

    4.查看当前状态

    4.1 加入我对上面的readme.txt的内容进行了修改

    $ git status
    

    4.2 查看修改的内容

    $ git diff
    

    5.版本回退

    5.1 查看历史版本

    $ git log
    

    5.2 回车键之后

    $ git log
    commit c7684d70618939337449649ecaf0f03a6b437bec
    Author: Eternaldeath <222@qq.com>
    Date:   Sun Jan 14 18:03:26 2018 +0800
        noword
    commit 63f5ff1d9de011f577454388beda0cf41eedf66f
    Author: Eternaldeath <222@qq.com>
    Date:   Sun Jan 14 18:02:11 2018 +0800
        noword
    commit acf45e68454cd873ecf687d838d0c3b95dc4ea56
    Author: Eternaldeath <222@qq.com>
    Date:   Sat Jan 13 19:27:12 2018 +0800
        no
    

    参数解释:

    1. commit:这里是版本号
    2. Author:你的用户名和邮箱
    3. Date:版本更新的时间
    4. 下面的“noword”是你提交git commit -m输入的描述。

    5.3 版本回退

    $ git reset --hard HEAD^
    

    参数解释:

    1. HEAD^:表示回退的版本。如果后面接一个 ^ ,表示上一个版本。若是两个 ^^
      ,就表示上上的版本。如果是10个,就表示成HEAD~10.

    5.4 查看命令历史

    $ git reflog
    

    6.撤销修改

    撤销工作区的修改:

    $ git checkout -- <你的文件名>
    
    ex:$ git checkout -- readme.txt
    

    7.删除操作

    $ rm <你的文件>
    
    ex: rm readme.txt
    

    7.1 使用 git status 用来查看删除的命令

    8.远程仓库

    8.1 本地库关联 Github 上的远程库

    $ git remote add origin git@github.com:Eternaldeath/Font-end-Ggame.git
    

    参数解释:

    1. Eternaldeath 这是你的 Github 账户名称,填写自己的。
    2. Font-end-Ggame 这是你的 Github 上的仓库的名称。

    8.2 推送本地库到远程库中

    $ git push -u origin master
    

    参数解释:

    1. -u:推送加关联本地库和远程库。

    此时查看 Github 上的内容,内容就和本地库一样了。
    同时,只要现在使用该命令就可以同步到远程库(网页的 Github)中。

    8.3 克隆远程库到本地库

    比如你在网页的 Github 上有一个不错的仓库,但是你的本地主机上没有,那么你就可以通过下面这个命令创建一个本地的仓库。

    $ git clone git@github.com:Eternaldeath:Personal-Resume.git
    

    参数解释:

    1. Eternaldeath:这是你的账户名称。(Eternaldeath是我的)。
    2. Personal-Resume:这是你的仓库名称。(其实仓库就可以理解为一个文件夹)。

    完成后查看你的主机,就会发现多了克隆的文件夹。

    9.分支管理

    9.1 创建并切换分支

    $ git checkout -b aaa
    

    参数解释:

    1. -b:b就是branch的缩写。 如果没有 -b 就是直接切换分支。

    9.2 查看当前分支

    $ git branch
    

    回车键后显示

    $ git branch
    * aaa
      master
    

    你会看到两个分支,aaa 和 master(这是默认的分支),aaa 前面有一个 * ,这就是指针的意思,意思是现在指向 aaa 这个分支。

    9.3 合并分支

    假如我们切换回分支 master 了。

    现在合并两个分支。

    $ git merge aaa
    

    合并完成后显示

    $ git merge aaa
    Updating 27e69f2..72c2a05
    Fast-forward
     readme.txt | 1 +
     1 file changed, 1 insertion(+)
    

    参数解释:

    1. Fast-forward:一种合并的模式:快进合并(合并的速度非常快)。

    9.4 删除分支

    $ git branch -d aaa
    

    参数解释:

    1. -d:就是 delet 的缩写。

    10.解决冲突

    10.1 查看分支合并情况

    $ git log --graph
    

    类似下图

    $ git log --graph
    *   commit 8e855d0b14adbf964c9b070173796c59ee19413e
    |  Merge: a9d6680 98312b7
    | | Author: Eternaldeath <xxxx@qq.com>
    | | Date:   Mon Jan 15 11:18:56 2018 +0800
    | |
    | |     branch-in-master
    | |
    | * commit 98312b78c0d925e4d208c8f56e7e6d1dc33f1d96
    | | Author: Eternaldeath <xxxx@qq.com>
    | | Date:   Mon Jan 15 11:14:55 2018 +0800
    | |
    | |     branch-in-new-branch
    | |
    * | commit a9d668067aaf59acdbcba3060bdca3b37f936b05
    |/  Author: Eternaldeath <xxxx@qq.com>
    |   Date:   Mon Jan 15 11:17:15 2018 +0800
    |
    |       branch-in-master
    |
    

    11.分支策略

    11.1 使用 –no-ff 策略执行分支

    我们假设除了 master 的另一个分支是 dev

    $ git merge --no-ff -m use-no-ff dev
    

    参数解释:

    1. no-ff 和 Fast-forward 的区别:前者会保留一个 commit 的记录。

    12.Bug分支

    预设场景:假设一个这样的背景环境,当你在使用git进行工作A的时候,突然需要进行紧急工作B,而工作A无法立刻提交,这种情况应该怎么办呢?

    $ git stash
    

    参数解释:

    1. stash:藏匿。就是把当前的工作A隐匿起来,先在工作区执行紧急工作B。

    12.1 查看隐匿的工作内容

    $ git stash list
    

    12.2 恢复隐匿的工作内容

    $ git stash pop
    

    语法解释:恢复隐匿的工作内容,并且删除 stash 区域。

    当然还有一种方式,就是把恢复和删除分成两步。

    $ git stash apply //恢复
    $ git stash drop  //删除
    

    13.feature 分支

    特点:feature 分支的特点应该是“特性”,就是如果你的产品每添加一个新的功能,而你又不想打乱主代码的布置,就可以使用feature。(个人理解)

    14.多人协作

    14.1 查看远程库信息

    $ git remote -v
    

    参数解释:

    1. -v :是查看详情信息。如果不查看详情信息就不用 -v

    14.2 推送分支

    $ git push origin master
    

    参数解释:

    1. origin:远程库的名字,这就是你创建本地库和远程库关联的时候的名字。
    2. master:这是你要推送的分支。也可以其他分支,比如之前提到的 bug,feature等。

    15.标签管理

    标签是版本库的快照
    本质上是一个指针
    与分支的区别在于标签作为指针是不能移动的
    需要标签的原因是,我们之前看到分支的commit号都是很长的一串数字和字符组成,而使用标签就只需要一个类似:v1.2的形式

    15.1 标记标签

    $ git tag v1.0
    

    参数解释:

    1. v1.0:就是你要打标签的内容。

    15.2 查看标签

    $ git tag
    

    15.3 标记以往的标签

    如果你忘记给上一次打标签了,那么可以通过查找上一次的 commit 号来标记标签。

    $ git tag v1.1 1234567
    

    参数解释:

    1. 1234567:这个就是你的上一次的 commit 号

    15.4 查看标签信息

    $ git show <tagname>
    

    15.5 删除标签

    $ git tag -d <tagname>
    

    15.6 推送标签

    推送某一个

    $ git push origin <tagname>
    

    推送所有

    $ git push origin --tags
    

    15.7 删除远程标签

    先删除本地的。

    然后删除远程库的

    $ git push origin :refs/tags/<tagname>
    

    16.DIY你的Git的功能

    增加Git代码的颜色

    $ git config --global color.ui true
    

    2.Github 的补充

    参考:Github 帮助

    对于 Github 的教程很多,这里不赘述。只作为简单的补充。

    1.单词解释

    fork:fork就是把对方的仓库克隆在自己的远程库里。比如,你在 Github 上看见一个不错的开源仓库,你想要 clone 下来,但是 clone 是 clone 到本地主机,以后想推送自己的修改是不能的,所以可以先 fork 到自己的远程库在 clone 下来。

    pull request:接着上面的 fork 。现在你做了一些对项目的修改,你想让开源项目的负责人看见,你就需要 pull request 给他,如果他觉得不错,他就会 merge (合并)你的分支。

    2.界面解释

    这里写图片描述

    这里写图片描述

    这里写图片描述

    这里只列出了常用的一些页面,其他的Github的使用参考Github官方帮助文档。

  • 相关阅读:
    隧道适配器,本地连接过多的解决办法
    C# 遍历HashTable
    sql2005 数据库转为sql 2000数据库的步骤
    自动扫描IP代理地址和自动切换IP的软件
    JS实现网页图片延迟加载[随滚动条渐显]
    批量修改hosts
    C#.NET获取当前月份最大天数
    如何让js调用不影响页面的加载速度?
    在sql中如何替换去掉回车符?
    Linq(01)对Linq的疑问及学习路径
  • 原文地址:https://www.cnblogs.com/comefuture/p/8305935.html
Copyright © 2011-2022 走看看