CodeGym /课程 /JAVA 25 SELF /开发者的日常循环:Commit、Push 和 .gitignore

开发者的日常循环:Commit、Push 和 .gitignore

JAVA 25 SELF
第 25 级 , 课程 1
可用

1. 入门:克隆项目

从上一讲停下的地方继续。你已经在 GitHub 上创建了一个仓库,现在需要把它的本地副本拉到自己的电脑上以开始工作。这个过程称为克隆

步骤 1. 启动你的 IDE。如果已经打开了某个项目,通过 File -> Close Project 关闭它。在启动窗口选择 Clone RepositoryGet from VCS

步骤 2. 在弹出的窗口中粘贴你的仓库 URL。如果你要克隆他人的仓库,这种方式很方便。URL 可以在 GitHub 仓库页面上复制。

如果你要克隆自己的仓库(本讲的场景),最简单的方法是在 IDE 中直接登录 GitHub。选择 Log in to GitHub。IDE 会打开浏览器进行授权。

JetBrains IDE 在 GitHub 上的授权窗口

在打开的页面中点击绿色按钮 Authorize JetBrains。之后你就可以在 IDE 的列表中直接选择自己的仓库。选中需要的项目并点击 Clone

步骤 3. IDE 会询问你是否信任该项目。因为这是你自己的仓库,请点击 Trust Project

步骤 4. 防病毒设置(Windows 用户)

Windows 的防病毒软件可能会提示 IDE 在执行它不认识的操作。由于我们要创建并运行程序,需要允许 IDE 不受限制地工作。点击“Automatically”按钮,让 IDE 自动把相关文件夹加入防病毒的排除列表。

2. 保存更改:Commit

commit 是项目在某一时刻的“快照”或保存状态。可以把它看作游戏里的存档点:如果出现问题,你随时可以回到这一点。每个提交都有唯一的标识符以及描述所做更改的消息。

        gitGraph
        commit id: "Initial commit"
        commit id: "Add user authentication"
        commit id: "Fix login button bug"
        commit id: "Refactor database connection"
    
提交历史。每一个新的提交都建立在前一个提交之上,形成项目演进的时间线。

步骤 1. 做出改动。

如果你克隆的是一个刚创建的仓库,它通常只有一个文件——README.md。

打开 README.md 文件,添加项目的说明。一旦开始编辑,IDE 会在项目面板中将它的名称高亮为 blue color。这表示文件已被修改,但更改尚未保存到 Git。IDE 还会在你修改过的地方添加 green line

步骤 2. 打开 Commit 窗口。

IDE 左侧有一个 Commit 选项卡。打开后你会看到所有准备保存的更改。对于第一次提交,这个窗口需要特别留意。

我们来看看这里都有什么:

  • Changes: 这里是已经被 Git 追踪但发生了修改的文件。在我们的例子中是我们添加了项目计划的 README.md
  • Unversioned Files: 这是 Git 在项目文件夹中发现但尚未追踪的新文件。

可能会有疑问:这些工具性文件都需要加入仓库吗?

好消息是,在 GitHub 上创建仓库时,我们选择了 .gitignore 模板。这个文件已经包含了让 Git 忽略不必要文件或文件夹的规则。关于它我们会在本讲末尾详细讨论。

现在,第一次提交的任务是:把项目的主要文件加入历史,并写上提交消息。

步骤 3. 执行提交。

点击 Commit 按钮。完成!你已经在本地仓库保存了项目的“快照”。文件会恢复为普通颜色显示。

3. 将更改推送到 GitHub:Push

此时你的提交只存在于本机。要与团队共享或安全保存,需要把它们推送到 GitHub 的远程仓库。

        sequenceDiagram
        participant 本地仓库 (你的电脑)
        participant 远程仓库 (GitHub)

        note over 本地仓库 (你的电脑): 你已经做了一次或多次提交。
它们只存在于这里。 本地仓库 (你的电脑) ->> 远程仓库 (GitHub): git push (推送提交) note over 远程仓库 (GitHub): 你的提交已被复制,
并可靠地保存在服务器上。
你的本地提交会被推送到远程服务器,从而同步项目历史。

步骤 1. 点击 Push 按钮。

在 IDE 右上角有一个绿色向上箭头——那就是 Push 按钮。点击它。

步骤 2. 检查并确认。

会弹出一个窗口,展示所有准备推送的提交。这是你最后一次确认即将推送内容的机会。点击 Push

如果一切顺利,你会看到消息:Pushed commits to origin/main. Create pull request

步骤 3. 在 GitHub 上检查结果。

推送成功后,打开你在 GitHub 上的仓库页面,你会看到更改已经出现在那里。

4. Git 控制面板

IDE 的顶栏有一个专门的 Git 菜单,它是你的版本控制中心。我们快速了解一下其中的关键项。

  • Commit:打开我们已经熟悉的保存更改的窗口。
  • Push:打开将提交推送到 GitHub 的窗口。
  • Update Project:非常重要的功能。它会拉取团队其他成员的最新更改(执行 git pull)。每天开始工作前都点一下!
  • Branches:打开分支管理窗口。我们将在下一讲详细介绍。
  • Show Git Log:显示项目的全部提交历史。你的个人“时光机”。

5. 使用 .gitignore 文件

如果你在项目中添加了一些工具性文件且不希望它们被误加入仓库,可以把它们加入忽略列表。这就用到名为 .gitignore 的文件。当项目中包含不需要纳入版本控制的文件时(例如临时文件、日志、密码),它非常有用。

步骤 1. 先在项目目录中创建你想忽略的文件。例如 notes.txt。创建后如果 IDE 提示将其加入 Git,请点击 Cancel

步骤 2. 在 “Project” 窗口里右键单击刚创建的文件,转到 Git --> Add to .gitignore --> Add to .gitignore。此操作会把选中的文件添加到项目根目录的 .gitignore 文件中。

如果你的项目中还没有 .gitignore 文件,IDE 会建议创建它。请同意。

步骤 3. IDE 会自动把该文件名加入 .gitignore

添加到 .gitignore 后,被忽略的文件会显示为灰色或棕色。在尝试提交更改时,这些文件会被忽略。可以将 .idea 文件夹加入忽略列表。

别忘了把 .gitignore 文件本身也提交到仓库并推送到 GitHub,这样项目所有成员都能使用相同的忽略规则。

排除本地文件:.git/info/exclude

除了为所有项目用户生效的 .gitignore 外,Git 还提供了在 .git/info/exclude 中创建本地忽略规则的能力。它们不会被提交到仓库中,只对你本地副本有效。

例如,用于忽略由你的 IDE 生成且不应纳入版本控制、并且只对你个人环境特有的文件时,这会很有用。

Important! 本地忽略规则只对你本地的仓库副本生效。

那如果我已经提交了呢?

.gitignore 只会忽略新的、尚未被追踪的文件。如果你已经提交过某个文件,它已经在仓库历史中,即使把它加入 .gitignore,Git 也会继续追踪它。此时可以在终端使用命令:git rm --cached <file>。不过这一点需要另行阅读了解。

.gitignore 的规则

.gitignore 文件中,你可以写出 Git 应该忽略的文件和文件夹名称模式。

空行会被忽略。添加注释时,以 # 开头。

模式:

  • * —— 匹配任意数量的任意字符。例如,*.log 会忽略所有 .log 扩展名的文件。
  • / —— 出现在模式末尾表示目录。例如,logs/ 会忽略 logs 文件夹中的所有内容。
  • ! —— 行首表示取反规则。例如,如果有 *.log 规则,但你想追踪 important.log,就添加 !important.log
  • ** —— 匹配任意层级的子目录。例如,**/temp 会忽略任意层级下名为 temp 的文件夹。

.gitignore 示例


# 已编译的代码
/bin/
/obj/

# 临时文件
*.tmp
*.swp

# 日志
*.log

# IDE 生成的文件夹
.idea/
*.user
*.suo

# 虚拟环境与依赖
/venv/
/node_modules/

现成的模板

这些文件不必从零开始写。社区已经提供了现成且经过验证的模板:

  1. GitHub 为不同语言和框架提供的 .gitignore 模板集合:https://github.com/github/gitignore
  2. gitignore.io —— 一个方便的网页服务,可根据你的技术栈生成 .gitignore 文件。
评论 (1)
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION
ncksllpo 级别 43,Cherkasy,Ukraine
14 二月 2026
不懂,老己记得复习