无废话Git——概念与本地服务器提交

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/oscar999/article/details/81660145

Git是什么?

Git是一个开源的分布式版本控制系统(也可以叫工具或是软件)。
版本控管工具对于开发人员来说不陌生, 像VSS,CVS,SVN,Perforce等。关于代码的版本控管工具及历史, 可以参考:
代码控管工具比较

版本管理器的发展史

集中式与分布式

与其他的版本控管工具相比, Git 最大的特点就是分布式。
与分布式对应的是集中式, 也就是服务器-客户端的模式。这种模式的特点是有一台中央的代码控管服务器, 不同的开发机器作为客户端从服务器获取代码和进行代码提交。

而对于分布式的Git来说, 每个客户端的机器都可以作为代码控管的服务器, 可以进行代码的检出和上传。
但是, Git 也有中央服务器的概念,而且在大部分的状况下都会使用到中央服务器。

对于习惯集中式代码控管工具的开发者来说(比如Perforce), 可以这样来理解集中式:如果在每台机器的本地安装一个Perforce 服务器, 再到一台共用的服务器上架设一台Perforce服务器作为中央服务器。代码先提交到本地的服务器, 再从本地的服务器汇总到中央服务器。只是Perforce等工具没有这样的功能, Git 做到了。

因为本地也是服务器, 也可以进行提交等动作, 所以不联网也可以进行代码的提交和控管, 等到网络恢复才推送到中央服务器。除此,Git 还支持多种协议和提交方式, 在一些Git的平台上可以使用网页的方式进行代码改动,提交和管理。

Git 的获取与安装

Git官方下载站点: https://git-scm.com/downloads
提供了Mac, Windows 和Linux三种版本。 目前最新版本是2.18.0.
以下介绍在Windows下的安装和使用。
Windows 下下载的是.exe的可执行文件, 直接双击安装。
安装完成,会有以下三个菜单项:

  1. Git Bash Linux 命令行方式。 因为Git 最早是应用于Linux,有些命令需要在这个下面才能运行。
  2. Git CMD Window命令行方式。一般的Clone, init, add, commit等命令都可以使用这个方式运行。
  3. Git GUI 如果对命令行不感冒的话, 可以使用界面的方式来使用Git.

接下来,不考虑远端服务,仅在本地服务器中使用 Git.

本地服务器中使用Git

开始使用之前, 先配置一下用户名和邮箱。这个是作为提交代码的用户标识。
g i t c o n f i g g l o b a l u s e r . n a m e t e s t git config –global user.email [email protected]

Git CMD方式:
1. 在D盘中建立如下目录:
D:\gitworkspace\project1

  1. 进入Git CMD, 切换到以上目录。

  2. 执行Git Init
    Init 是创建新的 Git 仓库, 执行完成之后,目录中会多出一个 .git 的隐藏文件夹。
    有了这个目录,就说明这个目录下的代码进行了代码控管。

  3. 在目录中新增一个文件 file1.txt
    内容: first Line

  4. 回到Git CMD, 输入:git status
    git status 命令用于查看是否有修改
    可以看到 Untracked files: file1.txt .
    意思就是file1.txt这个文件没有被跟踪。

  5. 在Git CMD输入: git add file1.txt
    git add, 将该文件添加到缓存
    git add 并不是直接提交代码到代码库, 而是先放到一个缓存区块。
    类似电脑存储, 不是直接写到硬盘,而是先放到缓存。 如果要撤销的话, 可以使用git rm 命名进行移除。
    这里也可以使用git status查看一下状态。
    Changes to be committed: 有新的改动需要提交。
    如何真正提交到库, 接下来就是.

    1. 在Git CMD输入: git commit -m “file1 add”
      -m 和后面双引号的内容是提交需要给一些注释。实际开发中这个注释可能是规格标号或是任务标号。

到此, 新增一个文件并提交到本地库就可以了。如果对这个文件进行修改, 比如增加一行内容:
second Line.
先使用git status 查看一下改变,
modified: file1.txt 有文件发生了改动。
接下来同样使用
-git add file1.txt
-git commit -m “file1 modify”
进行提交。

Git GUI方式:
1. 在D盘中另外再建立一个目录:
D:\gitworkspace\project2
2. 打开Git GUI
3. 点击 “Create New Repository”
选择上面的目录路径后, 点击Create按钮
到project2目录上看一下, 和使用init 命令行一样, 同样产 生了一个 .git 的隐藏文件夹。
4. 同样是在目录中新增一个文件 file1.txt
内容: first Line
5.在Git GUI中点击一下 Rescan按钮。
这个按钮的作用就是扫描目录下是否有文件发生了变更。
6. 在Unstaged Changes区块就显示了 file1.txt
7. 点击 Stage Changed按钮, 把这个文件放入缓存区。
8. 在Initial Commit message输入注释“file1 add”后, 点击Commit提交改动到本地库。

改动文件和新增文件的操作大致类似。至此, Git GUI就完成了上述使用CMD方式同样的操作。

暂存区(缓存区)

上面提交代码操作上, 有一个缓存区的概念。 也叫做暂存区。 英文常见叫做Stage , 也有称作Index的。这是Git和SVN,Perforce等其他版本控管工具的一个大的不同之处。
开始介绍暂存区之前, 顺便了解一下其他的术语。

工作区:就是本地工作的目录, 也就是上面的project1, project2的目录, 但是不包括 .git的隐藏目录。
版本库: 就是 .git 的隐藏目录。

好了, 看一张图:

这里写图片描述

  1. git add 把改动放到暂存区
  2. git commit 提交到版本库
  3. 只有Commit才会才是版本号, 暂存区的文件可以通过:
    git reset HEAD – filename
    撤回到工作区。

关于Git完整介绍,可以参考笔者的以下链接:
Git轻快学练战


猜你喜欢

转载自blog.csdn.net/oscar999/article/details/81660145
今日推荐