git基本操作 - 图1

进行Git配置

通过配置GIT可以控制外观行为,通过三个文件来配置。

  • **/etc/gitconfig** 文件:
    • 包含系统上每一个用户及他们仓库的通用配置。
    • 如果使用带有 --system 选项的 git config 时,它会从此文件读写配置变量。
  • **\~/.gitconfig****\~/.config/git/config** 文件:
    • 只针对当前用户。
    • 可以传递 --global 选项让 Git 读写此文件。
  • **config** 文件(就是 **.git/config**):
    • 针对该仓库。

每一个级别覆盖上一级别的配置,所以 .git/config 的配置变量会覆盖 /etc/gitconfig 中的配置变量。

设置用户信息

当安装完 Git 应该做的第一件事就是设置你的用户名称与邮件地址。这样做很重要,因为每一个 Git 的提交都会使用这些信息,并且它会写入到你的每一次提交中,不可更改:
命令:git config
$ git config —global user.name “John Doe”
$ git config —global user.email johndoe@example.com

  • 如果使用了 --global 选项
    • 那么该命令只需要运行一次,因为之后无论你在该系统上做任何事情, Git 都会使用那些信息。
  • 如果没有使用--global 选项
    • 可以针对特定项目使用不同的用户名称与邮件地址。

      创建仓库

      在网页中创建仓库,然后同步到本地。

搜索项目

test.gif

基本命令

git add

添加多个文件

方法一 git add 添加多个文件,文件之间以空格隔开

  1. git add file1 file2 file3
  2. 1

方法二 多次git add

  1. git add file1
  2. git add file2
  3. git add file2

方法三 添加指定目录下的文件
config目录下及子目录下所有文件,home目录下的所有.php文件

  1. git config/*
  2. git home/*.php

方法四 git add . 添加所有的文件, 或者 git add —all 添加所有的文件

  1. git add .
  2. git add --all

git add 文件夹

  1. git add 文件夹名

git commit 提交到版本库

git add 目的是将修改文件由工作区提交到暂存区,可以多次提交
然后commit操作,将文件从暂存区提交到版本库

  1. git commit -m "add new file"

git status 查询工作区状态

:::info 使用这个命令可以查看当前工作区是否有改动,改动了哪些内容,来决定究竟是否上传到暂存区。 :::

运行git status命令看看结果:

  1. $ git status
  2. On branch master
  3. Changes not staged for commit:
  4. (use "git add <file>..." to update what will be committed)
  5. (use "git checkout -- <file>..." to discard changes in working directory)
  6. modified: readme.txt
  7. no changes added to commit (use "git add" and/or "git commit -a")

git status命令可以让我们时刻掌握仓库当前的状态,上面的命令输出告诉我们,readme.txt被修改过了,但还没有准备提交的修改。
虽然Git告诉我们readme.txt被修改了,但如果能看看具体修改了什么内容,自然是很好的。比如你休假两周从国外回来,第一天上班时,已经记不清上次怎么修改的readme.txt,所以,需要用git diff这个命令看看:

  1. $ git diff readme.txt
  2. diff --git a/readme.txt b/readme.txt
  3. index 46d49bf..9247db6 100644
  4. --- a/readme.txt
  5. +++ b/readme.txt
  6. @@ -1,2 +1,2 @@
  7. -Git is a version control system.
  8. +Git is a distributed version control system.
  9. Git is free software.

git diff顾名思义就是查看difference,显示的格式正是Unix通用的diff格式,可以从上面的命令输出看到,我们在第一行添加了一个distributed单词。
知道了对readme.txt作了什么修改后,再把它提交到仓库就放心多了,提交修改和提交新文件是一样的两步,第一步是git add

  1. $ git add readme.txt

同样没有任何输出。在执行第二步git commit之前,我们再运行git status看看当前仓库的状态:

  1. $ git status
  2. On branch master
  3. Changes to be committed:
  4. (use "git reset HEAD <file>..." to unstage)
  5. modified: readme.txt

git status告诉我们,将要被提交的修改包括readme.txt,下一步,就可以放心地提交了:

  1. $ git commit -m "add distributed"
  2. [master e475afc] add distributed
  3. 1 file changed, 1 insertion(+), 1 deletion(-)

提交后,我们再用git status命令看看仓库的当前状态:

  1. $ git status
  2. On branch master
  3. nothing to commit, working tree clean