Hacktoberfest 2026: những issue maintainer đã đánh dấu cho tháng Mười, đang mở và phù hợp người mới. Xem issue Hacktoberfest

Can't pull student repos

Đang mở
#77 6 bình luận 6 reaction 0 người được giao Xem trên GitHub

Chưa có ai nhận issue này.

Đánh giá

Độ khó
3/5
Thời gian dự kiến
1-2 ngày
Mức phù hợp với người mới
35/100
Loại issue
Lỗi
Độ rõ ràng
Khá rõ ràng
Mức độ hoạt động
Đình trệ
Công nghệ
git, go
Lĩnh vực
cli

Hướng nghiên cứu

Tái hiện lỗi bằng gh classroom clone student-repos, sau đó là gh classroom pull student-repos, sử dụng đầu ra debug được cung cấp làm tham chiếu. Bắt đầu bằng cách lần theo luồng pull xung quanh git fetch upstream refs/heads/master và git merge-base --is-ancestor; hoàn tất khi các repository được cập nhật thành công và các repository không thay đổi không còn báo cáo các thay đổi phân kỳ.

Do mô hình lập chỉ mục viết ra từ nội dung của issue.

Mô tả

Describe the bug

I cannot pull updates in students assignment using gh classroom pull student-repos -a ... command. It says:

failed to run gh: can't sync because there are diverging changes; use `--force` to overwrite the destination branch
. error: exit status 1

however, there are no diverging changes. It also does not work when there are no updates, as shown here:

$ gh classroom clone student-repos
? Select a classroom: XXXX
? Select an assignment: YYYY
Creating directory:  /ZZZZ-submissions
Cloning into: /ZZZZ-submissions/ZZZ-AAA
Cloning into: /ZZZZ-submissions/ZZZ-BBB
Cloned 2 repos.
 
$ gh classroom pull student-repos
? Select a classroom: XXXX
? Select an assignment: YYYY
Pulling repo: /ZZZZ-submissions/ZZZ-AAA
failed to run gh: can't sync because there are diverging changes; use `--force` to overwrite the destination branch
. error: exit status 1
Pulling repo: /ZZZZ-submissions/ZZZ-BBBB
failed to run gh: can't sync because there are diverging changes; use `--force` to overwrite the destination branch
. error: exit status 1
$ gh --version
gh version 2.52.0 (2024-07-15)
https://github.com/cli/cli/releases/tag/v2.52.0
$ gh extension list
NAME          REPO                 VERSION
gh act        nektos/gh-act        v0.2.55
gh classroom  github/gh-classroom  v0.1.14
Steps to reproduce the behavior
  1. Clone students repositories using gh classroom clone ....
  2. (Optional) Modify the reference repository and request Pull Request, accept it.
  3. Try to pull repository again
Expected vs actual behaviour

I would expect all repositories to be updated. Now I need to update them manually, which works ok (no diverging changes).

Logs

Paste the activity from your command line. Redact if needed.

$GH_DEBUG=true gh classroom pull student-repos -a AAAAAA
* Request at 2024-07-23 13:35:52.177507471 +0200 CEST m=+0.028484741
* Request to https://api.github.com/assignments/AAAAAA
* Request took 414.42728ms
Pulling repo: XXXXXX
failed to run gh: [git remote -v]
[git config --get-regexp ^remote\..*\.gh-resolved$]
[git remote -v]
[git config --get-regexp ^remote\..*\.gh-resolved$]
* Request at 2024-07-23 13:35:52.616066256 +0200 CEST m=+0.020500993
* Request to https://api.github.com/graphql
* Request took 295.087327ms
[git -c credential.helper= -c credential.helper=!"/usr/bin/gh" auth git-credential fetch -q upstream refs/heads/master]
[git rev-parse --verify refs/heads/master]
[git merge-base --is-ancestor master FETCH_HEAD]
can't sync because there are diverging changes; use `--force` to overwrite the destination branch
. error: exit status 1

The command was executed in the same directory where gh classroom clone student-repos --all was executed before.

Ngôn ngữ chính
Go
Star
126
Fork
21
Merge trung bình
25 ngày 4 giờ
Pull request đã merge (30 ngày)
1

Chuẩn bị môi trường

Bắt đầu từ đâu

  1. Đọc hết issue, rồi đọc hướng dẫn đóng góp của dự án.
  2. Bình luận trên issue rằng bạn sẽ nhận — tránh hai người làm cùng một việc.
  3. Fork repository và làm thay đổi trên một nhánh.
  4. Mở pull request có tham chiếu số hiệu của issue.

Issue tương tự

Thêm issue về Go

Nhận issue mới trong hộp thư của bạn

Bản tóm tắt ngắn những issue GitHub phù hợp với người mới.