Tôi đã tìm kiếm xung quanh và không tìm thấy câu trả lời cho câu hỏi này.Git - so sánh địa phương và từ xa mà không cần tìm nạp trước?
Tôi có một ứng dụng đang chạy trên Heroku. Từ máy cục bộ của tôi, tôi thường triển khai và thực hiện:
git add .
git commit -m "whatever change, I know I can add and commit at the same time..."
git push <the-heroku-repo>
Sau đó, nó đi lên và nhánh chính trong ứng dụng Heroku được cập nhật. Càng xa càng tốt.
Hiện tại. Tôi muốn có một cỗ máy khác sẽ tự động tạo ra một cái kéo từ repo của Heroku và tự cập nhật.
Vì vậy, tôi làm điều đó với:
git clone <the-heroku-repo>
Đó được tôi ứng dụng và tôi có thể thấy cấu hình git với điều này:
core.repositoryformatversion=0
core.filemode=true
core.bare=false
core.logallrefupdates=true
remote.origin.fetch=+refs/heads/*:refs/remotes/origin/*
[email protected]:theapp.git
branch.master.remote=origin
branch.master.merge=refs/heads/master
Để cập nhật repo mới này tôi có thể làm chỉ là một pull :
git pull origin
Hoặc tôi có thể lấy và hợp nhất:
git fetch origin
git merge origin/master
CÂU HỎI TÔI
Giữa trên lấy và hợp nhất tôi có thể kiểm tra những thay đổi là gì bằng cách thực hiện:
git log -p master..origin/master
Có cách nào để tìm sự khác nhau giữa các chi nhánh tổng thể địa phương và mới nhất phiên bản trong repo Heroku từ xa mà không cần lấy trước? Chỉ cần so sánh địa phương và từ xa và xem các thay đổi. Tôi không thể tìm được cách thích hợp.
Cảm ơn.
mà không tìm nạp, bạn sẽ không biết bất cứ điều gì cập nhật từ repo từ xa –
Tôi quan tâm đến vấn đề là làm 'git fetch origin' trước' git log'? –
Có thể vấn đề là tôi, dựa trên định nghĩa của lệnh tìm nạp: "git fetch tải xuống các nhánh và dữ liệu mới từ một kho lưu trữ từ xa". Hãy tưởng tượng rằng dựa trên một số đầu ra của so sánh tôi sẽ quyết định rằng tôi không muốn lấy và hợp nhất những thay đổi đó. Tại sao tôi sử dụng băng thông và điều chỉnh kho lưu trữ với một thứ không cần thiết. Một lần nữa, có thể vấn đề là tôi. Chỉ cần cố gắng lưu một cuộc gọi hoặc tài nguyên nếu có thể bằng cách biết trước khi thực hiện các thay đổi hiện tại. – Pod