bash - 如何识别最近的拉取是否在目录中发生了变化
问题描述
我目前有一个结构如下的 git 项目:
z.txt
foo/a.txt
foo/b.txt
使用 bash 在运行后如何识别$ git pull
和a.txt
/或b.txt
(即foo
目录下的任何内容)已被更改?
解决方案
A. 如果你已经拉
git diff
您可以使用git diff
,特别是:
git diff commit1..commit2 --name-only
; 或者git diff commit1..commit2 --name-status
以下描述来自doco。
--name-only
仅显示更改文件的名称。
--名称-状态
仅显示更改文件的名称和状态。有关状态字母的含义,请参阅 --diff-filter 选项的描述。
git pull
告诉您它合并/快进的提交 ID:
/mnt/c/git/repo666 (develop)>git pull
Updating f86907f7a..a708dcfe8
在这种情况下,命令将是:
git diff f86907f7a..a708dcfe8 --name-status
git log
要查看每次提交的差异,您可以git log
使用--name-only
or --name-status
。
B. 拉动之前
如果您还没有拉动并且想要查看潜在的更改,您可以git fetch
分支(不是pull
)并比较当前分支的远程分支的本地副本。
/mnt/c/git/repo666(develop)>git fetch // not git pull
(...)
/mnt/c/git/repo666(develop)>git status
On branch develop
Your branch is behind 'origin/develop' by 3 commits, and can be fast-forwarded.
(use "git pull" to update your local branch)
nothing to commit, working tree clean
/mnt/c/git/Platform (develop)>git diff develop origin/develop --name-status
(请注意,我使用了git diff branch origin/branch
而不是git diff origin/branch
按照所需的顺序显示,即如果文件被添加,origin/develop
我们希望看到它是添加的而不是删除的。)
git pull
输出注意事项
请注意,git pull
包含两次添加和重命名的文件的输出
Fast-forward
...
src/Folder1/Services/File1.cs | 30 +
src/Folder1/Services/File2.cs | 7 +
...
src/Folder1/ViewModels/XViewModel.cs | 8 +-
...
src/{Abc.Common/Services => Abc/Contracts/Area1}/Area1File1.cs | 7 +-
...
89 files changed, 7254 insertions(+), 4897 deletions(-)
create mode 100644 src/Folder1/Services/File1.cs
create mode 100644 src/Folder1/Services/File2.cs
...
rename src/{Abc.Common/Services => Abc/Contracts/Area1}/Area1File1.cs (83%)
...
推荐阅读
- c - 如何截取正在写入内存段的指令的地址?
- apache-kafka - Kafka Auto-Commit 对较慢的事务不起作用
- arrays - 如何比较 JSON 格式数组 VALUE 和 KEY 来创建新数组?在角 5
- django - 在 django rest 框架上遇到了一些严重的问题
- matlab - 为什么我在为 simulink 模型创建 COMTRADE 文件时收到错误“连接的数组的维度不一致?
- c# - 找不到带有路径参数的 ASP.Net Core 3.0 应用程序 URL
- javascript - 如何在 JavaScript 或 jquery 中获取浏览器 cookie 或浏览器捕获
- android - 我应该在 AlertDialog.Builder 构造函数中设置什么上下文?
- react-native - 如何使用 expo 在本机反应中减少 apk 或 aab 文件大小?
- swiftui - SwiftUI 重新加载视图