Git基础
这是一篇关于Git基础操作的Blog
Git仓库的获取
Git仓库可以直接从一个服务器上克隆一个现成仓库下来,也可以用 git init
命令生成文件目录,让这个文件目录变成Git可以管理的仓库。如果是克隆的话用命令 git clone [url]
,这里的url指的是你要克隆的仓库的地址。
命令 git init
后面加文件名然后会生成一个文件目录,里面有一个.git的子目录文件。如果你打开看不到这个子目录,是因为默认隐藏了,改一下就行,Linux下用 ls -ah
命令就可以看到。
$ git init test
Initialized empty Git repository in C:/Users/Desktop/test/.git/
现在我们就已经在test这个文件目录里面生成了.git子目录。然后我们再
创建一个readme.txt
文件,内容是“Hello Git!”
接下来我们就要把新建的文件放到Git仓库中:
$ git add readme.txt
MINGW64 ~/Desktop/test (master)
$ git commit -m "first commit"
[master (root-commit) 7784958] first commit
1 file changed, 1 insertion(+)
create mode 100644 readme.txt
如上所示,命令git add
会跟踪你所创建的这个文件,然后这个文件会处于暂存状态。如果你要跟踪的的文件较多的话可以使用 git add .
这个命令会跟踪你创建的所有文件。此时这些文件会在暂存区,接下来将它们提交到Git仓库,命令 git commit -m "explain"
会把这些在暂存区的文件全部提交到Git仓库。这里如果直接用 git commit
命令提交会启动文本编辑器以便输入本次提交的说明。 (默认会启用 vim 或 emacs)。为了方便操作,用 git commit
命令后添加 -m 选项,将提交信息与命令放在同一行。注意:这里的”explain”这个” “里面要写的是说明,也就是说明你对本次提交的文件做了哪些修改,这样提交上去会让人一目了然,也可以输入任意内容,但是最好是有意义的。
然后我们可以用命令 git status
来查看是否完成提交。如下:
$ git status
On branch master
nothing to commit, working tree clean
我们已经完成了所有的提交,补充说明一下我们在将文件放入暂存区之前和放入之后都可以使用 git status
命令查看文件的状态。
Git仓库的管理
前面我们已经知道了如何提交文件,但是我们肯定还要对已经提交的文件进行修改。前面创建了一个readme.txt文件,现在我们在里面再加一句“learn Git!”,然后用 git status
命令查看文件状态。
$ git status
On branch master
Changes not staged for commit:
(use "git add <file>..." to update what will be committed)
(use "git checkout -- <file>..." to discard changes in working directory)
modified: readme.txt
no changes added to commit (use "git add" and/or "git commit -a")
可以看到readme.txt文件被修改过了,但是还没有提交。虽然 git status
命令会告诉我们哪些文件被修改了,但是没有具体的说明修改的内容,我们可以用命令 git diff
查看具体修改的内容。(diff = difference 这样会更容易记住这个命令)如下:
$ git diff
diff --git a/readme.txt b/readme.txt
index a8b73e0..1256863 100644
--- a/readme.txt
+++ b/readme.txt
@@ -1 +1,2 @@
-Hello Git<A3><A1>
\ No newline at end of file
+Hello Git<A3><A1>
+learn Git!
\ No newline at end of file
然后我们就要把修改过的文件重新提交到Git仓库,还是两步操作,先 git add
再 git commit
就OK了!(注意:一定要确认还有什么修改过的或新建的文件还没有 git add
过,否则提交的时候不会记录这些还没暂存起来的变化。 这些修改过的文件只保留在本地磁盘。所以每次准备提交前先用 git status
看下是不是都已暂存起来了,然后再运行提交命令 git commit
)如下:
$ git add readme.txt
MINGW64 ~/Desktop/test (master)
$ git commit -m "add learn Git!"
[master 0db55ae] add learn Git!
1 file changed, 2 insertions(+), 1 deletion(-)
最后用 git push
命令用于将本地分支的更新,推送到远程主机。
还有就是如果你在提交了很多次的文件项目之后,想回顾下所有的提交历史时,就会用到 git log
命令。如下:
$ git log
commit 0db55aefcbdcef59d59f9c5c97503c9e0ec7b425 (HEAD -> master)
Author: xxxxxx <[email protected]>
Date: Sun Apr 21 02:47:48 2019 +0800
add learn Git!
commit 77849589f67fcf0078491d5e93af74278ea85f67
Author: xxxxxx <[email protected]>
Date: Sun Apr 21 01:43:30 2019 +0800
first commit
结束语
以上就是对Git最最最简单基础的操作了,还有很多内容没提到,可以到Git官方文档上面去看。