Git使用一|Git初始化到提交

发布 : 2019-01-10 分类 : Version Control 浏览 :

Git是一个免费的开源 分布式版本控制系统,旨在快速,高效地处理从小型到大型项目的所有事务。Git 易于学习, 占地面积小,具有闪电般快速的性能。它超越了Subversion,CVS,Perforce和ClearCase等SCM工具,具有廉价本地分支,便捷的临时区域和多个工作流程等功能。

由于公司项目从SVN切换到Git,所以有必要了解和学习一下Git基础命令介绍和使用场景,所以一切都从实用出发。

这里默认大家都安装了Git,如果没有安装点击这里查看Git,安装请参考Git安装

步入正题,挑干的来

Git Bash Here

Git Bash Here是Windows安装完git自带的git管理工具,我是这么理解的。而且初学者想了解透git的使用还是从基础开始,Linux&Mac用户直接在终端打开就可以敲git命令了,而Windows的Git Bash Here就类似Linux&Mac的终端,在任意文件夹鼠标右键即可看到。所以接下来的所有操作都是在Git Bash Here用git命令的方式完成,我认为学好git命令才能更好的使用git管理工具,接下来讲git基础使用。

初始化

新建文件夹git-test作为以后学习git的初始仓库,既然有仓库了,那么怎么才能使用git呢?右键点击Git Bash Here然后开始第一个命令git init

1
2
3
4
5
6
hhongwen@PC MINGW64 /d/Project/git-test
$ git init
Initialized empty Git repository in D:/Project/git-test/.git/

hhongwen@PC MINGW64 /d/Project/git-test (master)
$

完成后即可在git-test文件夹内看到生成.git的文件夹,会记录以后所有git的操作日志,分支以及版本管理等。这个时候git仓库就已经创建好了,这时候会有上面看到master提示,代表这是git仓库的master分支,下面就开始git之旅。

创建文件

输入命令touch hello-git.txt创建一个文件hello-git.txt,然后对文件进行编辑vim hello-git.txt,点击i进行编辑,输入一句话hello git, this is my first use git.,然后点击ESC输入:x保存退出(这里需要会linux的vim或vi命令,如果不了解直接用编辑器打开修改文件即可)

1
2
3
4
5
hhongwen@PC MINGW64  /d/Project/git-test (master)
$ touch hello-git.txt

hhongwen@PC MINGW64 /d/Project/git-test (master)
$ vim hello-git.txt

Git状态

编写完hello-git.txt文件处于未被git跟踪的状态,此时使用git status命令来查看状态,这时候会看到下面的内容。看看git status时都提示了哪些信息:

  • On branch master提示处于master分支
  • No commits yet没有提交的内容
  • Untracked files未跟踪文件及需要提交的内容,这时候会提示 use "git add <file>..." to include in what will be committed
1
2
3
4
5
6
7
8
9
10
11
12
hhongwen@PC MINGW64  /d/Project/git-test (master)
$ git status
On branch master

No commits yet

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

hello-git.txt

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

注: 这时已经可以看出 git status 就是查看当前仓库的状态,也是最长用的命令,它会提示你当前分支处于什么状态,接下来概要做哪些内容,后期当我们遇到其他问题时在解释相关的内容该如何处理,所以要养成使用git status的习惯。

Git提交

git add

按着上述的提示我们需要将hello-git.txt文件添加到暂存区使用git add <file>...命令,然后再用git status查看状态,你会看到不一样的提示:

1
2
3
4
5
6
7
8
9
10
11
12
13
hhongwen@PC MINGW64 /d/Project/git-test (master)
$ git add hello-git.txt

hhongwen@PC MINGW64 /d/Project/git-test (master)
$ git status
On branch master

No commits yet

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

new file: hello-git.txt

这时候提示 use "git rm --cached <file>..." to unstage 用来删除暂存区的文件,不会删除本地的文件,然后再编辑和添加到暂存区。但是我们不需要删除而是提交,所以使用git commit命令提交。

注:上面提示的是git rm --cached <file>...cached参数,如果不加cached参数会同时删除本地的文件,所以使用时要注意。

git commit

将暂存区的文件提交到分支使用git commit命令,我们提交的时候需要写上备注,这时候用git commit -m '...'来提交。

1
2
3
4
5
hhongwen@PC MINGW64 /d/Project/git-test (master)
$ git commit -m 'commit hello git file to master'
[master (root-commit) 0d80201] commit hello git file to master
1 file changed, 1 insertion(+)
create mode 100644 hello-git.txt

这时候已经将hello-git.txt文件提交到了本地分支,我们学习的第一步即将结束,这时候不要忘记使用git status查看一下状态。

1
2
3
4
hhongwen@PC MINGW64 /d/Project/git-test (master)
$ git status
On branch master
nothing to commit, working tree clean

nothing to commit, working tree clean代表分支没有需要提交的。

小结

这章主要讲了如何用git init初始化git仓库,然后编辑内容并提交到仓库,后期git add <file>...git commit -m '...'git status也是最常用的命令,这些命令将伴随后期所有的Git学习,需要多加练习。

下一章

通过本章已经了解了Git的如何从初始化到提交,这只是第一步,但是一般我们都是重复的修改和提交,怎么能查看整个任务的进程,请看下一章Git前生今世

如果有疑问可以留言,一起讨论

本文作者 : 韩洪文
原文链接 : https://hhongwen.cn/20190110/git-summary-of-usage/
版权声明 : 本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明出处!

知识 & 情怀 | 二者兼得

微信扫一扫, 向我投食

微信扫一扫, 向我投食

支付宝扫一扫, 向我投食

支付宝扫一扫, 向我投食

留下足迹