GitHub入门与实践 二

#第四章 通过实践操作 学习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 的资料

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 1.GitHub 有什么用 学习优秀的开源项目开源社区一直有一句流行的话叫「不要重复发明轮子」,某种意义上正是因为...
    Clemente阅读 1,544评论 1 14
  • 远程仓库 到目前为止,我们已经掌握了如何在Git仓库里对一个文件进行时光穿梭,你再也不用担心文件备份或者丢失的问题...
    归云丶阅读 2,030评论 0 5
  • PS:小白的入门笔记,希望能有用,主要参考廖君Git教程 操作环境说明: github仓库 https://git...
    呆呆的张先生阅读 650评论 3 2
  • Git 是目前最流行的分布式版本控制系统之一。 版本控制指的是,记录每次版本变更的内容和时间等细节,保留各版本之间...
    神齐阅读 1,504评论 0 7
  • “我试图去寻找存在这里的价值和真理,空虚却像雾一样扩散开来,这空虚令人无从怀疑,而我需要风,所以不断地走,这美丽的...
    虂陸阅读 251评论 0 0

友情链接更多精彩内容