git - 工作目录和本地存储库有什么区别?

标签 git github repository working-directory

我创建了一个新的 GitHub 存储库。 我对工作目录和本地存储库感到很困惑。 当我自己工作时,我的东西都驻留在工作目录中。 但是当使用 repo 时,我应该在那里检查我的东西。 但它们是一回事吗?或者他们应该分开。 然后如何将我在工作目录中的东西提交到我的本地仓库。 如何将我的本地仓库提交到远程仓库。 Git Bash 如何做到这一点? 谢谢!

最佳答案

工作目录是你的源文件在 git 控制下的目录(在所有 dirs 的根目录下都存在 .git 文件)。 Git 正在跟踪您的工作目录和本地存储库之间的差异,以及您的本地存储库和(其中一个)远程存储库之间的差异。

要查看更改的内容,请使用 $ git status .

要将您的更改(编辑和/或新文件)提交到本地存储库,请使用 $ git add然后 $ git commit .

要查看提交的内容,请使用 $ git log .

然后,如果您想将更改提交到远程存储库,请使用 $ git push .

注意 git 命令正在打印什么,它通常包含做什么的建议。

如果您使用 GitHub,他们的帮助也很有用:pushing to a remote .

基本资料还不错in atlassian site .


例如:

假设,您使用 $ git init 启动了您的 git 存储库在 JavaRepo 目录中并用 $ git pull checkout 项目或 $ git clone .然后 JavaRepo 应该包含 .git 文件(以及其他 git 点文件)——你可以用 $ ls -a 检查它。 这些文件本身就是local git repository , 并且不需要区分“工作目录”和“本地存储库”目录。

因此,开始使用 JavaRepo 中的文件:假设您更改了文件 example.java 并创建了新文件 example2.java。在 JavaRepo(或其任何子目录)中执行 $ git status。它应该显示:“已修改:example.java”“未跟踪的文件:example2.java”

使用 $ git add example.java$ git add example2.java 命令。 (请注意,$ git add 适用于更改的文件和新文件。)

最后通过 $ git commit -m "example changes" 提交您的文件(-m 保留消息 - 对提交的评论)。

$ git log 应该显示这个提交。

关于git - 工作目录和本地存储库有什么区别?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21692155/

相关文章:

git - 如何在 git repo 中组织项目的不同部分?

git - 删除/引用具有无效字符的标签

git - 忽略 pull 请求差异中的特定文件、文件类型或文件夹

c# - 数据过滤是否发生在 Controller 、服务或存储库层?

api - 同一个包中的两个 api 包装器的版本控制?

spring - 我应该使用来自 Maven 存储库还是 Spring 存储库的工件

git - 需要帮助理解 merge 和 "Closed with unmerged commits"消息

Git 仍在尝试推送被忽略和删除的文件

javascript - 使用 OAuth 和 Auth0 进行身份验证后获取 Github 存储库数据

github - ASP.NET Core UserManager FindByNameAsync 数据库调用或从内存