美文网首页
从零开始Git

从零开始Git

作者: WZChan | 来源:发表于2018-12-14 12:10 被阅读0次

首先需要安装git,Linux和Mac比较方便可以用apt-get install git(Linux),brew install git(在安装了homebrew的Mac上),windows可以直接下载msysgit,安装即可。

完成安装之后记得给自己写上门牌号:

git config --global user.name "Your Name"

git config --global user.email "eamil@example.com"

1、创建版本库

如何在本地创建Git的版本库。

在你想要保存版本库的文件目录下(注:尽量使用英文名做目录名),使用
git init
使用后会提示你:

Initialized empty Git repository in your repository path

在目录下会出现一个.git文件夹,应该是默认为隐藏文件夹,调出来即可。

2、Git结构概述

3、创建readme.txt

在git目录下,创建一个文本文档,内容随意写,保存为readme.txt。

(1)文件提交

git add readme.txt

告诉git提交的文件是什么——提交到暂存区

git commit -m "first version of readme file"

可以利用-m为这次提交的文件写注释,方便未来的版本控制时,让你明白你在提交这个文件的时候做了什么。
当然,你可以一次性add多个文件,在利用commit提交的时候,也可以一次性写多个文件。

commit:犯罪;承诺;委托;托付。(理解?)
git commit 提交更改,将暂存区内容提交到当前分支。

(2)本地版本控制

git status
用来查看repository的当前状态。

D:\myFirstGit>git status

On branch master
nothing to commit, working tree clean

接下来,修改readme.txt.,再利用git status来查看自己的repository。

D:\myFirstGit>git status

On branch master
Changes not staged for commit:
(use "git add..." to update what will be committed)
(use "git checkout --..." to discard changes in working directory)
modified: readme.txt
no changes added to commit (use "git add" and/or "git commit -a")

说明修改过后还没有进行add 与 commit做提交。试试commit之后git status是什么样。

D:\myFirstGit>git add readme.txt
D:\myFirstGit>git commit -m "lol added"

[master 36d72f9] lol added
1 file changed, 2 insertions(+), 1 deletion(-)

这个操作把我们修改过的内容提交到了目前的分支上。

D:\myFirstGit>git status

On branch master
nothing to commit, working tree clean

再利用git status查看目前状态,发现没有修改了但是还未提交的内容。

git diff
git diff 来查看修改前后的不同。

D:\myFirstGit>git diff readme.txt

diff --git a/readme.txt b/readme.txt

index 88b9dbc..37b890d 100644

--- a/readme.txt

+++ b/readme.txt

@@ -1,2 +1,3 @@

ReadMe First Please!

-Lol!

\ No newline at end of file

+Lol!

+Changes had been changed.

\ No newline at end of file
windows下使用type来看看readme.txt里面写了什么(跟Linux下的cat一样):

D:\myFirstGit>type readme.txt

ReadMe First Please!

Lol!

Changes had been changed.
重新add 和 commit 之后,就已经把最新修改的内容放入了你的repository中。

git log

git log <filename>来查看目前文件一共有多少个版本。

D:\myFirstGit>git log readme.txt

最近一次修改

commit 63580d24072303d79a2fe6ea10407bba644c2d32 (HEAD -> master) #HEAD指向目前版本

Author: WZChan 进行修改的用户

Date: Fri Sep 29 11:19:53 2017 +0800 进行修改的时间

    changes                                                                                                     显示在git commit -m 后所标注的内容

倒数第二次修改

commit 36d72f9e0c8d763571277a2d93158c3b948e7fd6

Author: WZChan

Date: Fri Sep 29 11:04:19 2017 +0800

     lol added

倒数第三次修改

commit 03f1920945cd99987dd56a57ae0420d0e91c01e1

Author: WZChan

Date: Fri Sep 29 10:58:30 2017 +0800

     myFirstGitFile

如果不需要更多信息,可以试试 git log --pretty=oneline <filename>

D:\myFirstGit>git log --pretty=oneline readme.txt

63580d24072303d79a2fe6ea10407bba644c2d32 (HEAD -> master) changes

36d72f9e0c8d763571277a2d93158c3b948e7fd6 lol added

03f1920945cd99987dd56a57ae0420d0e91c01e1 myFirstGitFile
在上述操作时会有一串“乱码”是commit id,在稍后的版本回溯中会用到。

git reset

reset有三种方式:

git reset –mixed:此为默认方式,不带任何参数的git reset,即时这种方式,它回退到某个版本,只保留源码,回退commit和index信息

git reset –soft:回退到某个版本,只回退了commit的信息,不会恢复到index file一级。如果还要提交,直接commit即可

git reset –hard:彻底回退到某个版本,本地的源码也会变为上一个版本的内容
目前我想要把我的文件回退到commit为lol added的版本,也就是第二次修改的版本中。

执行:

git reset --hard 36d72
D:\myFirstGit>git reset --hard 36d72

HEAD is now at 36d72f9 lol added

可以看到目前的HEAD指向了lol added,而我们输入的那一段数字就是所谓的commit id
检查一下:

D:\myFirstGit>git log --pretty=oneline readme.txt

36d72f9e0c8d763571277a2d93158c3b948e7fd6 (HEAD -> master) lol added

03f1920945cd99987dd56a57ae0420d0e91c01e1 myFirstGitFile
如果要回去到changes的版本,则相应的去寻找commit id,执行:

git reset --hard 63580d
结果:

D:\myFirstGit>git log --pretty=oneline readme.txt

63580d24072303d79a2fe6ea10407bba644c2d32 (HEAD -> master) changes

36d72f9e0c8d763571277a2d93158c3b948e7fd6 lol added

03f1920945cd99987dd56a57ae0420d0e91c01e1 myFirstGitFile

git reflog
可以查看历史命令。

从而方便利用其来寻找自己文件版本的commit id。

相关文章

  • Git 从零开始(四)分支的创建、查看、合并和删除

    系列文章  Git 从零开始(一)下载和安装 Git 从零开始(二)准备使用 - 设置用户、邮箱和编辑器以及本地仓...

  • Git学习笔记2

    从零开始学习Git,入门网址廖雪峰Git教程。 分支管理 标签管理

  • Git学习笔记1

    Git是什么? 从零开始学习Git,入门网址廖雪峰Git教程。 借助Git,可以管理文档,能自动帮助记录每次文件的...

  • git常用命令

    取消与远程分支的关联 git remote remove origin 从零开始 git init初始化仓库 gi...

  • 程序猿的工具集锦

    Git 从零开始学Git【新手高效入门必备】 git入门,先学会这几个姿势 SVN SVN使用时应注意的那些事 M...

  • git 入门教程之知识速查

    知识速查 创建版本库 初始化项目 git init 从零开始创建项目 示例 克隆项目 git clone 将已有项...

  • Git 从零开始(三)基本命令的使用

    本篇文章来介绍Git仓库的使用,比如:提交文件、撤销修改、版本回退等等。 系列文章  Git 从零开始(一)下载和...

  • Git学习笔记

    Git学习笔记 从零开始创建一个git项目 1、首先在自己的github上创建一个项目仓库repository,比...

  • 从零开始Git

    @(关键字)[版本控制|git] 说明 按照此教程进行学习,可能因为机器或个人原因,中间会出现一些问题,不妨先参考...

  • 从零开始Git

    首先需要安装git,Linux和Mac比较方便可以用apt-get install git(Linux),brew...

网友评论

      本文标题:从零开始Git

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