基础概念
在使用git版本管理工具时,会经常遇到一些专用词汇,在使用之前,必须先要了解这些词汇的含义:
- 仓库:
顾名思义,就是用于保存东西的地方,对于一个版本工具来说,它就是用于保存代码的地方。git使用一个仓库来保存和维护一个项目中的代码。 - 分支:
一个仓库中可以包含很多个分支,一个项目可能存在很多功能,为了便于不同功能的多线开发,可以创建多个分支,每个分支用于实现一个功能,最后再合并在一起,这就是分支的常见用法。目的是减少所有功能一起开发带来的互相阻塞或者影响。 - 暂存区:
在提交之前需要把我们的修改先存放到暂存区,然后再由暂存区一次性提交到仓库中。使用git status
会显示暂存区中的文件为绿色。 - 工作区:
当前代码修改后会在工作区中保存,使用git status
会显示工作区中修改的文件为红色。 - commit:
一个提交对应一个commit,每个提交都有一个唯一的commit id
。
拉取仓库
首先需要知道某一个仓库的地址,然后使用 clone 命令克隆一个远程仓库到本地。并且默认使用 origin
来表示该远程仓库。
git clone https://github.com/rikeyone/envsetup-script.git
检出分支
一般仓库都会存在一个 master
分支,当然这并不是必须的,当我们使用上面的clone命令时,会自动checkout检出 master
分支上的内容到本地,如果想要切换到另一个分支,比如test分支,那么直接使用:
git checkout origin/test -b mytest
其中 origin
表示的就是clone的远程仓库, test
表示远程分支名, -b
后面跟的是本地分支名 mytest
。
查看工作区
如果在当前仓库中修改了代码,那么想要查看修改了哪些文件,使用如下:
$ git status
位于分支 master
未跟踪的文件:
(使用 "git add <文件>..." 以包含要提交的内容)
appimagelauncher.deb
config/gitinit.py
如果想要了解工作区中具体修改文件的内容:
$ git diff
diff --git a/README.md b/README.md
index feb263b..7868442 100644
--- a/README.md
+++ b/README.md
@@ -1,2 +1,4 @@
# crc
crc16/crc32/crc64
+
+# readme
查看提交内容
查看最近一次提交的命令:
git show
或者
git show HEAD
其中 HEAD 表示当前的分支最近的一次提交。如果要查看某一个提交的修改内容,可以利用 commit id
来查看。
git show 8045f50ba6e4193d4ee5d2539025fef26e613c9f
最后一串数字就是某一个提交的 commit id
,那么如何找到这个 commit id
呢?
可以利用 git log
命令查看历史提交记录,这个命令只会显示历史提交的描述,不显示修改内容。
查看历史提交
想要查看当前分支的提交记录,直接使用:
git log
输出信息示例如下:
commit de2a15284d294f36084c552824c3e447205f9384
Author: rikeyone <xiehaocheng127@163.com>
Date: Tue Oct 15 11:49:34 2019 +0800
Update .vimrc config file.
Signed-off-by: rikeyone <xiehaocheng127@163.com>
commit 01420ff9cffbdbd6501325d65c02b385321c60d3
Author: rikeyone <xiehaocheng127@163.com>
Date: Fri Sep 27 10:35:07 2019 +0800
adb: Fix adb vendorid config setup.
Signed-off-by: rikeyone <xiehaocheng127@163.com>
commit 9a38815bf1e582f514f8fc3ab6196e4fa68d6c06
如果想要查看某一个分支的提交记录,比如 test 分支:
git log test
这些只会显示简短的历史提交信息,只可以看到提交人,提交人邮箱地址,以及提交描述信息。如果想要查看每次提交的修改内容,可以这样:
git log -p
这个命令会输出每个历史提交的具体修改内容。
查看分支
查看当前仓库的本地分支状态,使用:
git branch
如果要查看包括远程仓库在内的所有分支状况,使用:
git branch -a
提交代码
提交代码分为3个部分:
- 首先使用
git add
把工作区的修改提交到暂存区 - 执行
git commit
把暂存区的修改生成 commit 提交到当前分支中 - 使用
git push
把本地仓库的修改分支提交到远程仓库。
示例如下:
git add test.c
git commit -m "test patch"
git push origin HEAD:master
其中commit操作也可以直接使用 git commit
,这个命令会弹出一个编辑器,用于输入 commit message 。输入提交描述后保存就会生成一个 commit 。这里着重介绍一下 git push
命令:
git push 仓库名 本地分支名:远程分支名
查看配置
如果想要获取当前仓库配置信息:
git config --list
欢迎扫码关注我的公众号!