Linux 上的 GIT :安装、创建项目、提交文件

举报
Tiamo_T 发表于 2022/05/16 00:00:39 2022/05/16
【摘要】 GIT 是最通用的分布式版本控制系统。

GIT 是最通用的分布式版本控制系统。

GIT 跟踪和处理文件更改的方式非常有效,并且与其他版本控制软件(包括 CVS 和 Subversion)跟踪更改的方式不同。

本文适用于 GIT 新手。这是一个快速入门指南,它将向您展示如何从源代码安装 GIT、创建新项目、将更改提交到 GIT 存储库。

如果您来自 CVS/SVN 背景,您习惯于客户端-服务器模型,其中存储库安装在服务器上,您将使用客户端从存储库下载项目,进行更改并将其提交到服务器中的存储库。

GIT 不使用客户端-服务器模型。当您从远程 GIT 存储库下载项目时,您会下载所有内容,包括各个文件的版本历史和更改,而您的本地 GIT 充当服务器,您可以在其中进行签入、签出和所有其他操作典型的版本控制活动。稍后当您准备好时,您可以将更改合并到远程 GIT 存储库。

因此,无论您是在本地机器上使用 GIT 来管理您自己的项目,还是在服务器上安装 GIT,其他开发人员将从那里将项目下载到他们的本地 GIT 存储库,安装和配置步骤都是完全相同的。

如果您是开发人员,您可能希望在本地计算机上安装 GIT,原因有两个:1)您喜欢使用版本控制工具在本地管理自己的项目 2)您想要修改位于远程中心的代码GIT 存储库。

如果您是系统管理员,您可能希望在服务器上安装 GIT,以便它充当中央存储库来保存您公司的所有源代码。从这里,您可以允许开发人员将项目下载到他们的本地 GIT 存储库,进行更改,然后他们可以在完成后签入到您的中央存储库。


无论您打算如何使用 GIT,安装步骤和下面提到的基本命令都是完全相同的。

1.下载并安装GIT

首先,从这里下载 GIT 。或者,直接使用 wget 下载,如下所示。

cd
wget http://kernel.org/pub/software/scm/git/git-1.7.6.tar.bz2

接下来,解压缩下载的文件。

tar xvfj git-1.7.6.tar.bz2
cd git-1.7.6

最后,使用默认配置选项安装 GIT,如下所示。如果要自定义安装,请执行“./configure –help”以查看所有可用的配置选项。

./configure

make

make install

2. 初始配置

Git 默认安装在 /usr/local/bin 下。安装 GIT 后,如下所示进行验证。

$ whereis git
git: /usr/local/bin/git

$ git --version
git version 1.7.6

$ git --help.

第一步是使用“git config”将您的用户名和电子邮件地址指定到您的 GIT 存储库,如下所示。

git config --global user.name "GIT Admin"

git config --global user.email ramesh@tiamo.com

验证git配置信息如下图。

$ git config --list
user.name=GIT Admin
user.email=ramesh@tiamo.com
core.repositoryformatversion=0
core.filemode=true
core.bare=false
core.logallrefupdates=true

此信息存储在主目录下的 .gitconfig 文件中。

$ cat ~/.gitconfig
[user]
        name = GIT Admin
        email = ramesh@tiamo.com

3. 创建项目

您可以将任何本地目录作为 GIT 项目(即存储库)。例如,如果您的项目位于 /home/ramesh/projects/passworddragon 下,您可以将其作为您的 GIT 项目。首先,cd 到该目录,然后执行 git init,如下所示。

$ cd /home/ramesh/projects/passworddragon

$ git init
Initialized empty Git repository in /home/ramesh/projects/passworddragon/.git/

这将在您的项目文件夹下创建一个 .git 目录。以下是 .git 目录的内容。GIT 使用此目录来存储有关它如何跟踪更改的信息。

$ ls -altr .git
total 40
drwxrwxr-x  4 git git 4096 Aug 13 22:39 refs
drwxrwxr-x  4 git git 4096 Aug 13 22:39 objects
drwxrwxr-x  2 git git 4096 Aug 13 22:39 info
drwxrwxr-x  2 git git 4096 Aug 13 22:39 hooks
-rw-rw-r--  1 git git   23 Aug 13 22:39 HEAD
-rw-rw-r--  1 git git   73 Aug 13 22:39 description
-rw-rw-r--  1 git git   92 Aug 13 22:39 config
drwxrwxr-x  2 git git 4096 Aug 13 22:39 branches
drwxrwxr-x 36 git git 4096 Aug 13 22:39 ..
drwxrwxr-x  7 git git 4096 Aug 13 22:39 .

注意:如果您是系统管理员,正在尝试为您的公司创建一个 GIT 中央存储库,开发人员可以从中下载项目,您可能需要创建一个名为“git”的用户名并在此帐户下组织您的所有项目。例如:/home/git/project1、/home/git/project2 等。一旦组织好项目,cd 到项目目录,并从那里以 git 用户身份执行“git init”。

4. 将文件添加并提交到项目中

使用“git init”初始化项目后,使用“git add”添加位于该项目目录下的文件。

如果您的项目目录下有不同类型的文件,并且您希望 GIT 只管理某些类型的文件,则只将这些文件添加到 GIT 中,如下所示。此示例仅添加 *.java 和 *.c 文件。

git add *.java
git add *.c

通常,您希望将项目目录下的所有文件添加到 GIT 项目中。只需执行“git add .”,这会将当前目录中的所有文件和所有子目录添加到 GIT 项目中。

git add .

将文件添加到存储库后,您应该提交这些文件,如下所示。

$ git commit -m 'Initial upload of the project'
 create mode 100755 PasswordDragon.java
 create mode 100755 pwm/ui/DataManager.java
 create mode 100755 pwm/ui/PasswordFrame.java
 create mode 100755 pwm/tools/StrongEncryption.java
 create mode 100755 pwm/tools/PasswordStrength.java
 ..

如果您没有如上所述使用“git config”指定您的用户名和电子邮件地址,您将收到以下错误消息。

$ git commit -m 'Initial upload of the project'

*** Please tell me who you are.

Run

  git config --global user.email "you@example.com"
  git config --global user.name "Your Name"

to set your account's default identity.
Omit --global to set the identity only in this repository.

fatal: empty ident   not allowed

5. 进行更改并提交文件

您已经安装了 GIT,创建了项目存储库,将所有文件提交到 GIT 项目。

现在是时候开始对文件进行一些更改并将其提交到存储库了。

vi PasswordDragon.java

在本地修改文件后,您可以查看更改。即您的本地副本与已在 GIT 项目中使用“git diff”提交的副本之间的差异,如下所示。

$ git diff
diff --git a/PasswordDragon.java b/PasswordDragon.java
index 6166ed1..fd82d32 100644
--- a/PasswordDragon.java
+++ b/PasswordDragon.java
@@ -2,7 +2,7 @@
-    public counter=10
+    public counter=55

一旦您对其进行了修改、查看了更改并对此感到满意,您就可以将文件提交到 GIT 存储库。这是一个两步过程。首先,您应该将文件添加到暂存区,并提交到 GIT 项目,如下所示。

git add PasswordDragon.java

当您执行提交时,它将打开您的默认编辑器,您可以在其中输入评论。保存评论并退出编辑器后,它会将文件提交到 GIT 项目并显示以下消息。

$ git commit
[master 80f10a9] Added password strength meter functionality
 1 files changed, 56 insertions(+), 7 deletions(-)

注意:您也可以执行“git commit -a”,这将同时执行添加和提交。

6.查看状态和提交日志

在您的本地存储库中,当您执行“git status”时,它将显示当前状态。当本地副本未更改时(或所有文件都已提交),您将看到以下消息。

$ git status
# On branch master
nothing to commit (working directory clean)

如果您对文件进行了更改,但尚未提交,您将看到以下消息。

$ git status
# On branch master
# Changes not staged for commit:
#   (use "git add ..." to update what will be committed)
#   (use "git checkout -- ..." to discard changes in working directory)
#
#       modified:   PasswordDragon.java
#
no changes added to commit (use "git add" and/or "git commit -a")

您还可以查看文件的历史记录,如下所示。

$ git log PasswordDragon.java
commit c919ced7f42f4bc06d563c1a1eaa107f2b2420d5
Author: GIT Admin
Date:   Sat Aug 13 22:54:57 2011 -0700

    Added password strength meter functionality

commit c141b7bdbff429de35e36bafb2e43edc655e9957
Author: GIT Admin
Date:   Sat Aug 13 20:08:02 2011 -0700

    Initial upload of the project
【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。