git提交时作者乱码_最简易Git工作流

我其实是Subversion的老用户。几个月前,开始有人介绍使用Git,我开始是蒙圈的。

第一,我开始不太理解Git中谈到的一些概念。

当我开始使用Git时,我才意识到它的易用性,包括概念的理解。现在每一天我都会用Git来处理开发工作,它成了我工作中不可分割的一部分。

也看过一些Git教程,我也准备将自己的学习经历写成一篇文章,以便能够帮助到那些想切换到Git的开发人员。

让我们现在开始。

和Git问声好

如果你有Subversion、CVS或其它版本管理工具的背景知识,不好意思,请先忘记你已经熟悉的关于版本控制的一切内容。

Git有一个完全不同的版本控制方法,来让我们看它和其它系统的区别。

Git是分布式的,这表示,我们克隆Git仓库时,将获得该仓库的副本,以便在本地电脑中使用。在Git中,你有属于自己的代码库,可以自由更改,根据自己的需要多次提交,而无需担心污染中央存储库,当确信无误后再将代码推送到中央存储库。

在深入Git技术之前,我们来看一个非常清晰的Git工作流程图(感谢作者,我还在桌面上打印了它)

2e822b01f3e34448a4bd51433445ced6.png

来看上面的图:在Git中,代码存放在4个不同的位置。

1、远端存储库

这是Git远端存储库-Remote repository,或者公司托管的云端服务器。顾名思义,这个代码库不保存你的本地计算机中,你也不会经常与远端存储库通信。只会在代码更改后推送(push)时用得着。

2、本地存储库

本地存储库-Local repository,是指当你克隆Git仓库或创建新的仓库时,在本地创建并存储的的代码库。

你做的所有一切事情,都首先来源于此,因为本地存储库保存在你的本地计算机中。

3、索引

索引 - Index。我想这是在Git中最令人困惑的名词之一。这个东东是在代码的工作副本以及本地存储库之间的中间位置。

它有点像代码的临时区域,可以用它来暂存跟踪要提交的文件。在后面的内容中,我会介绍我的git工作流,会讲到怎么使用索引。这段代码也是保存在本地计算机中的。

4、工作区

工作区 - workspace。此处是你创建/编辑/删除文件所在的工作目录,这些代码文件是存储在你的本地计算中的。

以上的内容,希望能给大家得到Git的基本概念。这些对于使用Git来说非常重要。接下来,我将介绍关于我的Git工作流的相关文章。在此间,你可以随时设置你的Git环境。

正像我们前面所说的那样,我们继续分享在日常工作中使用Git的常用方法。

假设你已经在本地计算机中安装了Git,并且在PATH中设置了环境变量。另外,我们用本地存储库来解释相关概念,这意味着我们将在本地创建存储库,而不是从远端存储库中克隆它。

1、创建Git存储库

打开你喜欢的终端工具、命令提示符,用cd命令进入该目录。然后使用如下的命令:

c:\> cd vraa\projects\helloworld

C:\vraa\projects\helloworld>git init

Initialized empty Git repository in C:/vraa/projects/helloworld/.git/

上面的英文告诉我,已经创建了一个新的本地存储库,并且可以跟踪自己的hello world项目了。

2、Git配置:用户名与密码

下一件事是要设置一个用户名和邮箱来用于我的Git提交(commits),

这是每次Git安装后的一次性设置。

C:\vraa\projects\helloworld> git config --global user.name "yourname"

C:\vraa\projects\helloworld> git config --global user.email "your@mail.com"

3、将文件添加到Git索引并检查其状态

在此步骤,我们将创建一个简单的文本文件,并使用git status命令来查看Git对该文件的影响,该命令会告诉你存储库的当前状态和分支的详细信息。

值得说明的是,在Git中不会去检查任何你的工作。只需要直接修改文件,然后提交你的更改。

命令如下:

C:\vraa\projects\helloworld> edit helloworld.txt

C:\vraa\projects\helloworld> git status

# On branch master

#

# Initial commit

#

# Untracked files:

#   (use "git add ..." to include in what will be committed)

#

#       helloworld.txt

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

哈哈,Git知道有一个文件,但还没有跟踪它。好的,我们告诉Git来跟踪它,这才是Git的真正用途。

C:\vraa\projects\helloworld> git add .\helloworld.txt

C:\vraa\projects\helloworld> git status

# On branch master

#

# Initial commit

#

# Changes to be committed:

#   (use "git rm --cached ..." to unstage)

#

#       new file:   helloworld.txt

现在,我们使用git status命令,它会告诉你已经提交的文件列表。所以,当我们使用git add [文件名]时,我们要求git将文件保存在git索引中跟踪其更改。这个很简单,可以将此文件暂存于此,等到下次提交时,将索引中的所有文件一起提交。

3、提交更改

通过提交命令,我们将更改的文件从索引中移动到本地存储库。这点与Subversion不同,提交意味着将代码保存到中央存储库。

在Git中,即使提交后,代码也会驻留在本地存储库中,外界不会知道你的改变。因此,我们可以无所畏惧的做任意多次的提交。

C:\vraa\projects\helloworld> git commit -m "initial commit"

[master (root-commit) 812befb] initial commit

warning: CRLF will be replaced by LF in helloworld.txt.

The file will have its original line endings in your working directory.

 1 files changed, 1 insertions(+), 0 deletions(-)

 create mode 100644 helloworld.txt

C:\vraa\projects\helloworld> git status

# On branch master

nothing to commit (working directory clean)

以上,就是我的git工作流的基本流程。使用Git可以创建非常简单的提交与跟踪更改。

在后面的文章中,我们会继续解释如何进行分支,区分多个文件版本。

作者:老夏

来源:21CTO社区

00b615dc2a1a1a0f19c741c7b8e9edba.png

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值