git đẩy nói rằng mọi thứ đều cập nhật ngay cả khi tôi có những thay đổi cục bộ


238

Tôi có một máy chủ gitosis từ xa và một kho lưu trữ git cục bộ và mỗi lần tôi thực hiện một thay đổi lớn trong mã của mình, tôi cũng sẽ thay đổi các máy chủ đó.

Nhưng hôm nay tôi thấy rằng mặc dù tôi có một số thay đổi cục bộ và cam kết với kho lưu trữ cục bộ, khi chạy git push origin masternó có nội dung 'Mọi thứ cập nhật', nhưng khi tôi sử dụng git cloneđể kiểm tra các tệp trên máy chủ từ xa, nó không chứa các thay đổi mới nhất . Và tôi chỉ có một nhánh tên là "master" và một máy chủ từ xa có tên "origin".

PS: Đây là những gì git hiển thị khi chạy ls-remote, tôi không chắc liệu nó có giúp

$ git ls-remote origin
df80d0c64b8e2c160d3d9b106b30aee9540b6ece        HEAD
df80d0c64b8e2c160d3d9b106b30aee9540b6ece        refs/heads/master
$ git ls-remote .
49c2cb46b9e798247898afdb079e76e40c9f77ea        HEAD
df80d0c64b8e2c160d3d9b106b30aee9540b6ece        refs/heads/master
df80d0c64b8e2c160d3d9b106b30aee9540b6ece        refs/remotes/origin/master
3a04c3ea9b81252b0626b760f0a7766b81652c0c        refs/tags/stage3


Đáng để kiểm tra lại bạn đang ở đúng thư mục! Đặc biệt Khi bạn có các mô hình con, bạn có thể nhầm phản hồi git từ cha mẹ ..
geotheory

Trong trường hợp của tôi, tôi đã gặp lỗi trong khi committôi không nhận thấy và cố gắng đẩy mã
Zohab Ali

3
quên cam kết?
ldgorman

Câu trả lời:


256

Bạn có đang làm việc với một cái đầu tách ra bất kỳ cơ hội?

Như trong:

tách đầu

chỉ ra rằng cam kết mới nhất của bạn không phải là một chi nhánh.

Cảnh báo : sau đây thực hiện git reset --hard: đảm bảo sử dụng git stashtrước nếu bạn muốn lưu các tệp hiện đang sửa đổi của mình.

$ git log -1
# note the SHA-1 of latest commit
$ git checkout master
# reset your branch head to your previously detached commit
$ git reset --hard <commit-id>

Như đã đề cập trong git checkouttrang man (nhấn mạnh của tôi):

Đôi khi rất hữu ích khi có thể kiểm tra một cam kết không nằm ở đầu một trong các chi nhánh của bạn .
Ví dụ rõ ràng nhất là kiểm tra cam kết tại một điểm phát hành chính thức được gắn thẻ, như thế này:

$ git checkout v2.6.18

Các phiên bản trước của git không cho phép điều này và yêu cầu bạn tạo một nhánh tạm thời bằng cách sử dụng -btùy chọn, nhưng bắt đầu từ phiên bản 1.5.0, lệnh trên tách bạn HEADkhỏi nhánh hiện tại và trực tiếp trỏ vào cam kết được đặt tên bởi thẻ ( v2.6.18trong ví dụ trên).

Bạn có thể sử dụng tất cả các lệnh git khi ở trạng thái này.
Bạn có thể sử dụng git reset --hard $othercommitđể tiếp tục di chuyển xung quanh, ví dụ.
Bạn có thể thực hiện các thay đổi và tạo một cam kết mới trên đầu trang bị tách rời .
Bạn thậm chí có thể tạo ra một sự hợp nhất bằng cách sử dụng git merge $othercommit.

Trạng thái bạn đang ở trong khi ĐẦU của bạn bị tách ra không được ghi lại bởi bất kỳ chi nhánh nào (đó là điều tự nhiên --- bạn không ở bất kỳ chi nhánh nào).
Điều này có nghĩa là bạn có thể loại bỏ các cam kết và sáp nhập tạm thời của mình bằng cách chuyển trở lại một chi nhánh hiện có (ví dụ git checkout master) và sau đó git prunehoặc git gcsẽ thu gom rác.
Nếu bạn đã làm điều này do nhầm lẫn, bạn có thể yêu cầu reflog cho HEAD bạn đang ở đâu, vd

$ git log -g -2 HEAD

4
Tôi không hoàn toàn rõ ràng về cách tôi vào trạng thái này (thực hiện một số thao tác với git-svn vào lúc này), nhưng điều này là đủ để đưa tôi trở lại đúng nơi. Cảm ơn.
Christopher Schmidt

Tôi đang ở trong trạng thái tách rời, hợp nhất các thay đổi của mình, cam kết các thay đổi của mình và bây giờ tôi muốn đẩy nó lên Master và không thể - nói với tôi "mọi thứ cập nhật". Nhưng tôi đang làm theo hướng dẫn đã cung cấp Gitlab của tôi: Step 1: git fetch origin git checkout -b "nodeAPI" "origin/nodeAPI" Step 2. Review the changes locally Step 3. Merge and fix conflicts git fetch origin git checkout "origin/master" git merge --no-ff "nodeAPI" Step 4. Push the result of the merge to GitLab git push origin "master" Tôi tốt cho đến bước cuối cùng. Nhưng bây giờ tôi chỉ bối rối làm thế nào để tiến về phía trước.
John

@ John Bạn cần phải ở trong một chi nhánh để đẩy. Miễn là bạn đang ở chế độ CHÍNH, nó sẽ không hoạt động. Đặt lại chi nhánh của bạn về vị trí của bạn : git branch -f myBranch HEAD, sau đó kiểm tra chi nhánh cho biết và đẩy chi nhánh. Trong trường hợp của bạn, myBranchcó thể là masternếu bạn đang trong quá trình hợp nhất nodeAPI.
VonC

Xin lưu ý mất mọi thay đổi cục bộ sau khi chạy lệnh này !! Cân nhắc thực hiện một số git stash & sao lưu mã trước khi làm bất cứ điều gì như thế này.
kta

@kta Điểm hay: Tôi đã chỉnh sửa câu trả lời để hiển thị cảnh báo đó.
VonC

150

Err .. Nếu bạn là một git noob bạn có chắc bạn có git committrước đây git pushkhông? Tôi đã phạm sai lầm này lần đầu tiên!


10
Đó là git commit -a -m "your message goes here"trong trường hợp của tôi
aexl

Tôi YÊU (mỉa mai) mỗi khi tôi muốn thêm một dự án mới vào github, đôi khi tôi quên và thông báo lỗi khiến tôi nghĩ rằng tôi đã làm điều gì đó thực sự sai - dĩ nhiên là DUH! cam kết Chỉ xảy ra với tôi khi tôi được tạo kho lưu trữ sao lưu mới và tôi quên
Tom Stickel 4/11/2016

git noob ở đây - tôi quên cam kết mỗi lần chết tiệt trước khi tôi đẩy - đẩy sẽ tự động cam kết nếu bạn chưa thực hiện trước đó
FoxMcCloud

2
@FoxMcCloud Commiting là một bước quan trọng để có ý thức, tôi chắc chắn bạn sẽ học cách yêu nó nếu bạn chưa có :) ~ git add -A, git diff --staged, cuộn qua những thay đổi Hmm nhìn rất tốt, git commit -m 'bam!',git push
AFOC

58

Có lẽ bạn đang đẩy một chi nhánh địa phương mới?

Một chi nhánh địa phương mới phải được đẩy một cách rõ ràng:

git push origin your-new-branch-name

Chỉ là một trong những điều về git ... Bạn sao chép repo, tạo chi nhánh, thực hiện một số thay đổi, thúc đẩy ... "Mọi thứ đều cập nhật". Tôi hiểu tại sao nó xảy ra, nhưng quy trình làm việc này cực kỳ không thân thiện với người mới.


3
Cảm ơn! Điều này đã khắc phục vấn đề của tôi "mọi thứ cập nhật" với một chi nhánh mới mà tôi có
Pangu

"Tên bạn mới của chi nhánh" nghĩa là gì? Ps: Bạn rất đúng về người mới.
www-0av-Com

@ user1863152 đó là tên của chi nhánh địa phương mới mà bạn đã tạo. Âm thanh như bạn đã không làm điều đó, vì vậy hãy kiểm tra các câu trả lời khác ở đây.
Roman Starkov

Hoàn toàn đồng ý với "quy trình làm việc này cực kỳ không thân thiện với người mới". Tôi đang vật lộn với điều này kể từ 1 giờ. Tôi thiết lập repo từ xa và địa phương. Thực hiện thay đổi cho tệp REAME cục bộ và cố gắng đẩy nó vào điều khiển từ xa và không có gì thay đổi trong điều khiển từ xa.
Vir


28

Một tình huống quan trọng khác cần lưu ý: Loại trạng thái mặc định cho git là bạn đang làm việc trong nhánh "chính". Và trong nhiều tình huống, bạn sẽ chỉ tham gia vào đó như là nhánh làm việc chính của mình (mặc dù một số người thích và làm những việc khác).

Dù sao, đó chỉ là một chi nhánh. Vì vậy, một tình huống tôi có thể gặp phải là:

Chi nhánh hoạt động của tôi thực sự KHÔNG phải là chi nhánh chính. ... Nhưng tôi thường xuyên thực hiện lệnh: git push(và tôi đã thực hiện trước đó git push origin master, vì vậy đó là lối tắt cho THAT).

Vì vậy, tôi thường xuyên đẩy chi nhánh chính vào repo được chia sẻ ... đó có lẽ là một điều sạch sẽ, trong trường hợp của tôi ...

Nhưng tôi đã quên rằng những thay đổi tôi đang thực hiện vẫn chưa nằm trong nhánh chính !!!

Vì vậy, mỗi khi tôi cố gắng git pushvà tôi thấy "Mọi thứ cập nhật", tôi muốn hét lên, nhưng tất nhiên, đó không phải là lỗi của git! Nó là của tôi.

Vì vậy, thay vào đó, tôi hợp nhất chi nhánh của mình thành chủ, và sau đó thực hiện đẩy, và mọi thứ lại vui vẻ.


Tôi cũng muốn hét lên, nhưng sau đó, bạn đã giảng về con đường cứu rỗi, để hợp nhất người nuôi dưỡng thành chủ, và sau đó git push.
Aaron C

16
$ git push origin local_branch:remote_branch

Giải trình

Tôi đã có cùng một lỗi và đã dành hàng giờ cố gắng để tìm ra nó. Cuối cùng tôi đã tìm thấy nó. Điều tôi không biết là việc đẩy như thế này git push origin branch-xsẽ cố gắng tìm kiếm nhánh-x cục bộ sau đó đẩy sang nhánh-x từ xa.

Trong trường hợp của tôi, tôi đã có hai url từ xa. Tôi đã thực hiện kiểm tra từ nhánh-x sang nhánh-y khi cố gắng đẩy từ y cục bộ sang x từ xa. Tôi có thông báo mọi thứ đều cập nhật, đó là lý do bình thường tôi đã đẩy sang x của điều khiển thứ hai.

Câu chuyện dài để không rơi vào loại bẫy này, bạn cần chỉ định ref nguồn và ref đích:

$ git push origin local_branch:remote_branch

Cập nhật:

Nếu bạn phải chạy lệnh này mỗi khi bạn đẩy chi nhánh của mình, bạn có thể cần phải thiết lập ngược dòng giữa nhánh cục bộ và từ xa của mình bằng cách sau:

$ git push --set-upstream origin local_branch:remote_branch

Hoặc là

$ git push -u origin local_branch:remote_branch

'git đẩy ngược dòng dev: master' Điều này có nghĩa là nó sẽ đẩy nguồn từ dev sang master. Đúng?
Dhaduk Mitesh

Điều này giúp tôi, tôi có một chi nhánh địa phương khác được đặt tên là chi nhánh từ xa, điều gây ra sự nhầm lẫn.
Hubert Kubiak

Ok điều này chắc chắn làm việc cho tôi nhưng tôi phải làm điều này mỗi khi tôi muốn đẩy một cái gì đó đến điều khiển từ xa. Làm thế nào để tôi sửa nó một lần và mãi mãi?
SamuraiJack

bạn có thể cần phải thiết lập luồng ngược giữa nhánh cục bộ và từ xa của mình bằng cách sau: $ git đẩy --set-upstream origin local_branch: remote_branch
Melchia

6

Xem câu trả lời của VonC ở trên - Tôi cần thêm một bước:

$ git log -1
- note the SHA-1 of latest commit
$ git checkout master
- reset your branch head to your previously detached commit
$ git reset --hard <commit-id>

Tôi đã làm điều này, nhưng khi tôi cố gắng git push remoterepo masterthì nó báo "lỗi: không thể đẩy một số ref. Để ngăn bạn khỏi mất lịch sử, các cập nhật không chuyển tiếp nhanh đã bị từ chối, Hợp nhất các thay đổi từ xa (ví dụ: 'git pull') trước đó lại đẩy. "

Vì vậy, tôi đã 'git pull remoterepo master', và nó đã tìm thấy một cuộc xung đột. Tôi đã làm git reset --hard <commit-id>lại, sao chép các tệp bị xung đột vào một thư mục sao lưu, đã làm git pull remoterepo masterlại, sao chép các tệp bị xung đột trở lại vào dự án của tôi git commit, sau đó git push remoterepo master, và lần này nó hoạt động.

Git đã ngừng nói 'mọi thứ đã được cập nhật' - và nó đã ngừng phàn nàn về 'chuyển tiếp nhanh'.


3

Tôi đã phải đối mặt với một tình huống tương tự; Khi tôi thực hiện các thay đổi và cố gắng git push origin master, nó đã nói rằng mọi thứ đã được cập nhật.

Tôi đã phải git addthay đổi tập tin và sau đó git push origin master. Nó bắt đầu làm việc từ đó về sau.


4
Bạn sẽ không phải git committhêm tập tin đó trước khi đẩy chứ?
David Harkness

3

Từ trạng thái git của bạn, bạn có thể có một tình huống khác với tôi.

Nhưng dù sao, đây là những gì đã xảy ra với tôi .. Tôi đã gặp phải lỗi sau:

fatal: The remote end hung up unexpectedly
Everything up-to-date

Thông báo nhiều thông tin hơn ở đây là điều khiển từ xa. Hóa ra là do vượt quá kích thước bộ đệm http. Giải pháp là tăng nó với

git config http.postBuffer 524288000


3

Tôi đã có vấn đề này ngày hôm nay và nó không liên quan gì đến bất kỳ câu trả lời nào khác. Đây là những gì tôi đã làm và cách tôi sửa nó:

Một kho lưu trữ của tôi gần đây đã di chuyển, nhưng tôi đã có một bản sao địa phương. Tôi đã tách ra khỏi nhánh "chính" cục bộ của mình và thực hiện một số thay đổi - và sau đó tôi nhớ rằng kho lưu trữ đã di chuyển. Tôi đã từng git remote set-url origin https://<my_new_repository_url>đặt URL mới nhưng khi tôi đẩy nó sẽ chỉ nói "Mọi thứ cập nhật" thay vì đẩy chi nhánh mới của tôi thành chủ.

Tôi đã kết thúc việc giải quyết nó bằng cách nổi loạn origin/mastervà sau đó đẩy bằng các tên nhánh rõ ràng, như thế này:

$ git rebase <my_branch> origin/master
$ git push origin <my_branch>

Tôi hy vọng điều này sẽ giúp bất cứ ai có vấn đề tương tự của tôi!


3

Rất hiếm - nhưng vẫn: Trên Windows, có thể là ref-refs có một nhánh với một trường hợp chữ cái (ví dụ: dev / mybranch), trong khi thư mục ref có một trường hợp khác (ví dụ Dev / mybranch) khi core.ignorecase được đặt thành true .

Giải pháp là xóa thủ công hàng liên quan khỏi gói ref-ref . Không tìm thấy giải pháp sạch hơn.


Đó cũng là một vấn đề đối với tôi. Kết thúc với việc đổi tên các thư mục với trường hợp không chính xác trong thư mục .git (log / refs / Heads, refs / Heads).
Alexey Solonets

2

Tôi đã gặp phải vấn đề này khi tôi sáp nhập một chi nhánh trên Github và tiếp tục phát triển tại địa phương. Cách khắc phục của tôi hơi khác so với những cách khác đã được đề xuất.

Đầu tiên tôi phân nhánh một chi nhánh địa phương mới ra khỏi chi nhánh địa phương cũ của tôi (mà tôi không thể đẩy). Sau đó, tôi đã đẩy chi nhánh địa phương mới đến máy chủ gốc (Github). I E

$ git checkout -b newlocalbranch oldlocalbranch
$ git push origin newlocalbranch

Điều này có những thay đổi để hiển thị trên Github, mặc dù trong newlocalbranch chứ không phải oldlocalbranch.


2

Trong trường hợp của tôi, tôi đã có 2 repos từ xa.

git remote -v
originhttps https://asim_kt@...
originhttps https://asim_kt@...
origin  ssh:git@bitbucket.org:...
origin  ssh:git@bitbucket.org:...

Cả hai repo đều giống nhau. Chỉ cần một là httpskhác ssh. Vì vậy, loại bỏ cái không mong muốn, (trong trường hợp của tôi ssh. Vì tôi đã sử dụng httpssshkhông hoạt động!) Đã khắc phục sự cố cho tôi.


2

Sai lầm của tôi là khác nhau hơn tất cả mọi thứ cho đến nay. Nếu bạn không biết tại sao bạn lại có một cái đầu tách ra, thì có lẽ bạn không biết. Tôi đã làm việc trên chế độ lái tự động với git commitgit push, và đã không đọc kết quả đầu ra từ git commit. Hóa ra, đó là một thông báo lỗi vì tôi đã quên -am.

[colin] ~/github/rentap.js [master] M % git commit 'figured out some more stuff with the forms in views and started figuring out row and mode in models so also made matching routes and controllers'
error: pathspec 'figured out some more stuff with the forms in views and started figuring out row and mode in models so also made matching routes and controllers' did not match any file(s) known to git.
[colin] ~/github/rentap.js [master] M % git push
Enter passphrase for key '/home/colin/.ssh/id_ecdsa': 
Everything up-to-date

Đã sửa nó bằng cách đặt -amnơi tôi thường làm:

[colin] ~/github/rentap.js [master] M % git commit -am 'figured out some more stuff with the forms in views and started figuring out row and mode in models so also made matching routes and controllers'

2

Tôi đã phải đối mặt với vấn đề tương tự. Khi tôi không thêm các thay đổi vào khu vực tổ chức. Và tôi đã trực tiếp cố gắng đẩy mã đến repo từ xa bằng lệnh:

git push origin master

Và nó hiển thị thông điệp Everything up-to-date.

Để khắc phục sự cố này, hãy thử các bước sau

  1. git add .
  2. git commit -m "Bug Fixed"
  3. git push -u origin master

1

Xác minh rằng bạn chưa sử dụng URL từ xa.

Tôi chỉ muốn đề cập rằng tôi đã gặp phải điều này sau khi kích hoạt Git làm CVS trong cấu hình xây dựng Jenkins cục bộ. Dường như Jenkins đã kiểm tra cam kết gần đây nhất của chi nhánh mà tôi đã đưa ra và cũng đặt lại điều khiển từ xa của mình để tương ứng với các đường dẫn tôi đã đưa nó đến repo. Phải kiểm tra lại nhánh tính năng của tôi và sửa url từ xa gốc của tôi bằng 'git remote set-url'. Đừng chỉ một công cụ xây dựng vào thư mục làm việc của bạn hoặc bạn sẽ có một thời gian tồi tệ. Điều khiển từ xa của tôi đã được đặt thành một đường dẫn tệp đến thư mục làm việc của tôi, vì vậy nó tự nhiên báo cáo mọi thứ cập nhật khi tôi cố gắng đẩy các thay đổi với cùng một nguồn và đích.


1

Một khả năng khác là bạn đã đặt tên một thư mục trong tệp .gitignore của bạn đã bị loại trừ. Vì vậy, các cam kết mới sẽ không được đẩy. Nó xảy ra với tôi rằng tôi đã đặt tên một thư mục để bỏ qua "tìm kiếm", nhưng đó cũng là một thư mục trong cây nguồn của tôi.


1

Có một cách nhanh chóng tôi tìm thấy. Chuyển đến thư mục .git của bạn, mở HEADtệp và thay đổi bất kỳ nhánh nào bạn đã trở lại thành chủ. Ví dụ:refs/heads/master


Trên thực tế, thiết lập nó để refs/heads/masterphá vỡ kho lưu trữ của tôi. Nhưng đặt nó thành những gì tôi nghĩ là cam kết CHÍNH đã đưa ra thông báo sau : Warning: you are leaving 1 commit behind, not connected to any of your branches. Tôi đã có thể đưa cam kết vào một chi nhánh mới và hợp nhất nó lại với chủ.
schmijos

1

Tôi gặp vấn đề tương tự. Trong trường hợp của tôi, đó là do phải đặt tên cho cùng một điều khiển. Nó tạo ra 'nguồn gốc' tiêu chuẩn, nhưng tôi đã sử dụng 'github' làm điều khiển từ xa trong một thời gian dài, vì vậy nó cũng ở đó. Ngay khi tôi xóa điều khiển từ xa 'gốc', lỗi sẽ biến mất.


1

Tôi đã có điều này xảy ra (cam kết trong nhật ký git của tôi không có trên GitHub mặc dù git nói mọi thứ đã được cập nhật) và tôi tin rằng vấn đề là Github. Tôi không nhận được bất kỳ thông báo lỗi nào trong git, nhưng GitHub có lỗi trạng thái và các cam kết của tôi đã ở đó vài giờ sau đó.

https://status.github.com/messages

Các thông báo trạng thái GitHub là:

  • Chúng tôi đang điều tra các báo cáo về sự không có sẵn của dịch vụ.
  • Chúng tôi đang điều tra các sự cố khi truy cập GitHub.com.
  • Chúng tôi đang thất bại trước một hệ thống lưu trữ dữ liệu để khôi phục quyền truy cập vào GitHub.com.

1

Một lỗi rất đơn giản nhưng vô nghĩa khác của tôi: Tôi chỉ đơn giản là quên thêm một công cụ -msửa đổi tin nhắn trong cam kết của mình. Vì vậy, tôi đã viết:

git commit 'My message'

Thay vì chính xác:

git commit -m 'My message'

LƯU Ý: Nó không ném bất kỳ lỗi nào! Nhưng bạn sẽ không thể thực hiện các cam kết của mình và luôn luôn Everything up to datethay thế


0

ở đây, giải pháp của tôi khác với ở trên. tôi đã không tìm ra vấn đề này xảy ra như thế nào, nhưng tôi đã sửa nó. một chút bất ngờ

bây giờ đến cách:

$ git push origin  use_local_cache_v1
Everything up-to-date
$ git status
On branch test
Your branch is ahead of 'origin/use_local_cache_v1' by 4 commits.
  (use "git push" to publish your local commits)
  ......
$ git push
fatal: The upstream branch of your current branch does not match
the name of your current branch.  To push to the upstream branch
on the remote, use

    git push origin HEAD:use_local_cache_v1

To push to the branch of the same name on the remote, use

    git push origin test
    
$ git push origin HEAD:use_local_cache_v1    
Total 0 (delta 0), reused 0 (delta 0)
remote:

lệnh phù hợp với tôi là

$git push origin HEAD:use_local_cache

Hy vọng các bạn thoát khỏi rắc rối này càng sớm càng tốt)


0

Tôi biết nó là siêu cũ, nhưng trong trường hợp của tôi, tôi đã sửa nó khá nhanh.

Tôi đã nhận được lỗi tương tự trong khi là một cam kết trước master. Sau đó, tôi tìm thấy bài viết Stack Overflow hiện tại. Tuy nhiên trước khi tiếp tục với các ý tưởng được đề xuất, tôi chỉ quyết định thực hiện một cam kết mới và thử lại với việc đẩy nguồn gốc và nó hoạt động trơn tru.

Tôi không biết tại sao, nhưng có lẽ nó hữu ích cho người khác.


Nó không thực sự cung cấp một câu trả lời cho câu hỏi. Một khi bạn kiếm đủ danh tiếng , bạn sẽ có được đặc quyền để nâng cao câu trả lời bạn thích. Bằng cách này, khách truy cập trong tương lai của câu hỏi sẽ thấy số phiếu bầu cao hơn cho câu trả lời đó và người trả lời cũng sẽ được thưởng điểm danh tiếng. Xem tại sao bỏ phiếu quan trọng .
Waqar UlHaq

1
Ok, cảm ơn bạn đã làm rõ. Nhưng tại sao nó không thể được coi (nếu bạn muốn) như là một "cách giải quyết" cho vấn đề này? Nó không phải là giải pháp mặc dù, nhưng dù sao nó cũng có thể hữu ích cho người khác.
Cisco

0

Một khả năng khác là bạn có các cam kết không ảnh hưởng đến thư mục bạn đang đẩy. Vì vậy, trong trường hợp của tôi, tôi đã có một cấu trúc như

- .git
- README.md
- client/
 - package.json
 - example.js
- api/
 - requirements.txt
 - example.py

Và tôi đã cam kết sửa đổi tổng thể README.md, sau đó chạy git subtree push --prefix client heroku-client mastervà nhận được thông báoEverything up-to-date


0

Tôi đã làm việc với Jupyter-Notebook khi tôi gặp phải lỗi lừa đảo này.

Tôi không thể giải quyết thông qua các giải pháp được cung cấp ở trên vì tôi không có đầu tách ra cũng như không có tên khác cho repo địa phươngtừ xa .

Nhưng những gì tôi đã làm là kích thước tệp của tôi lớn hơn 1MB một chút và lớn nhất là gần 2 MB . Tôi đã giảm kích thước tệp bằng cách sử dụng Làm cách nào để giảm kích thước tệp của sổ ghi chép iPython của tôi?kỹ thuật. Nó giúp giảm kích thước tập tin của tôi bằng cách xóa các đầu ra. Tôi đã có thể đẩy mã, từ đó vì nó mang kích thước tệp của tôi tính bằng KB.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.