Git入门(一)

什么是git

Git 是一个开源的分布式版本控制系统,用于敏捷高效地处理任何或小或大的项目。注意,git和github是区别的,后面会讲到。

安装git

下载git工具:https://sourceforge.net/projects/git-osx-installer/

也可以从这里选择多版本:http://git-scm.com/downloads

然后按照流程安装就好了~

如果你想用代码的形式安装也很方便,可以使用brew

没有brew的小朋友建议顺便也装一个:/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"

然后就可以直接 brew install git 来完成git的安装

查看是否安装成功,可以在terminal中输入:git --version

初始化git目录

选择一个目录作为git目录,然后输入以下命令来初始化该git目录,并设定用户名和邮箱(非强制):

git init
git config —global user.name “MrDoghead” 以及 git config —global user.email “mrdoghead@gmail.com”

注意,使用--global 选项,那么该命令只需要运行一次,之后无论你在该系统上做任何事情, Git 都会使用那些信息。

初始化后,该目录下会生成一个.git的文件(勿动!)

这个时候,我们可以通过以下命令查看git的状态

git status [-s]    #查看git状态  
git log [—oneline] [—graph]    # 查看日志

git的各个状态

请看下面这个网上扒拉下来的图

git-status

简单来说,最开始的状态就是untracked,比如我们随便新建一个文档,写入hello world,然后查看一下git状态

vi demo # 写入
git status

# 下面是结果
On branch master

No commits yet

Untracked files:
  (use "git add <file>..." to include in what will be committed)
	demo

nothing added to commit but untracked files present (use "git add" to track)

然后我们觉得这个文档写的挺好的,就add一下吧(使用add命令)

git add demo
# git add *

再查看一下状态

On branch master

No commits yet

Changes to be committed:
  (use "git rm --cached <file>..." to unstage)
	new file:   demo

然后我们要决定当前分支提交一下(commit命令)

git commit -m "init"
# -m 后面可以加上注释

再次查看状态,就变成了

On branch master
nothing to commit, working tree clean

之后如果尝试对文档进行改动,再查看状态,就会变成modified状态

On branch master
Changes not staged for commit:
  (use "git add <file>..." to update what will be committed)
  (use "git restore <file>..." to discard changes in working directory)
	modified:   demo

no changes added to commit (use "git add" and/or "git commit -a")

现在我们尝试add和commit一步到位,可以这样

git commit -am “first change”

# 状态又变成
On branch master
nothing to commit, working tree clean

查看前后文件区别

查看unstaged和staged文件的差别,也就是之前add完的和现在修改的区别

git diff

查看这次staged和上一次staged区别

git diff -cached

对staged文件修改后,查看两者区别

git diff HEAD

想要在不改变版本的情况下(log不变)修改版本内容(会改变commit id)

git commit —amend —no-edit

对了,版本号可以在log中查看哦

To be continued...

posted @ 2020-04-10 16:39  MrDoghead  阅读(171)  评论(0编辑  收藏  举报