美文网首页
GitHub入门与实践 二

GitHub入门与实践 二

作者: 闲与行 | 来源:发表于2019-10-29 20:33 被阅读0次

    #第四章 通过实践操作 学习Git

    4.1 基本操作

    • git init---初始化仓库
    $ mkdir git-tutorial
    $ cd git-tutorial
    $ git init
    Initialized empty Git repository in /Users/hirocaster/github/github-book
    /git-tutorial/.git/
    

    执行了 git init命令的目录下就会生成 .git 目录。这个 .git 目录里存储着管理当前目录内容所需的仓库数据。

    • git status——查看仓库的状态
    $ git status
    # On branch master
    #
    # Initial commit
    #
    nothing to commit (create/copy files and use "git add" to track)
    

    稍加改变后

    $ touch README.md
    $ git status
    # On branch master
    #
    # Initial commit
    ## Untracked files:# (use "git add <file>..." to include in what will
    be committed)#
    # README.md
    nothing added to commit but untracked files present (use "git add" to
    track)
    
    • git add——向暂存区中添加文件
    $ git add README.md
    $ git status
    # On branch master
    #
    # Initial commit
    #
    # Changes to be committed:
    # (use "git rm --cached <file>..." to unstage)
    #
    # new file: README.md
    #
    

    可以明显的看到状态的变化

    • git commit——保存仓库的历史记录
      -记述一行提交信息
    $ git commit -m "First commit"
    [master (root-commit) 9f129ba] First commit
    1 file changed, 0 insertions(+), 0 deletions(-)
    create mode 100644 README.md
    

    -m 参数后的 "First commit"称作提交信息,是对这个提交的
    概述。

    -记述详细提交信息

    ● 第一行:用一行文字简述提交的更改内容
    ● 第二行:空行
    ● 第三行以后:记述更改的原因和详细内容

    • 查看提交后的状态
    $ git status
    # On branch master
    nothing to commit, working directory clean
    
    • git log——查看提交日志
    $ git log
    commit 9f129bae19b2c82fb4e98cde5890e52a6c546922
    Author: hirocaster <hohtsuka@gmail.com>
    Date: Sun May 5 16:06:49 2013 +0900
    First commit
    

    不妨养成这样一个好习惯:在执行 git commit命令之前先执行git diff HEAD命令,查看本次提交与上次提交之间有什么差别,等确认完毕后再进行提交。这里的 HEAD 是指向当前分支中最新一次提交的指针。

    4.2 分支的操作

    通过灵活运用分支,可以让多人同时高效地进行并行开发。

    • git branch——显示分支一览表
    $ git branch
    * master
    

    git checkout -b——创建、切换分支
    切换到 feature-A 分支并进行提交
    git branch——显示分支一览表

    • 切换回上一个分支
    $ git checkout -
    Switched to branch 'feature-A'
    
    • 特性分支

    特性分支顾名思义,是集中实现单一特性(主题),除此之外不进
    行任何作业的分支。

    • git merge——合并分支

    $ git merge --no-ff feature-A

    4.3 更改提交的操作

      1. git reset——回溯历史版本
    1. 要让仓库的 HEAD、暂存区、当前工作树回溯到指定状态,需要用
      到 git rest --hard命令。
      1. 创建 fix-B 分支
    $ git checkout -b fix-B
    Switched to a new branch 'fix-B'
    
      1. 使用 git reflog命令,查看当前仓库的操作日志。
    • 消除冲突
    • git commit --amend——修改提交信息
    • git rebase -i——压缩历史
    • 修正拼写错误

    $ git rebase -i HEAD~2

    4.4 推送至远程仓库

    • git remote add——添加远程仓库
    • git push——推送至远程仓库
    • 推送至 master 以外的分支

    $ git checkout -b feature-D

    $ git push -u origin feature-D

    4.5 从远程仓库获取

    • git clone——获取远程仓库
    • git pull——获取最新的远程仓库分支
    • 如果两人同时修改了同一部分的源代码, push 时就很容易发生冲突。所以多名开发者在同一个分支中进行作业时,为减少冲突情况的发生,建议更频繁地进行 push 和 pull 操作。

    4.6 帮助大家深入理解 Git 的资料

    相关文章

      网友评论

          本文标题:GitHub入门与实践 二

          本文链接:https://www.haomeiwen.com/subject/yanivctx.html