git: สาขาของคุณอยู่ข้างหน้าโดย X มุ่งมั่น


379

สิ่งนี้เกิดขึ้นจริงได้อย่างไร

ฉันกำลังทำงานใน repo หนึ่งด้วยตัวเองในขณะนี้ดังนั้นเวิร์กโฟลว์ของฉัน:

  1. เปลี่ยนไฟล์
  2. ผูกมัด
  3. ทำซ้ำ 1-2 จนกระทั่งพอใจ
  4. กดเพื่อหลัก

จากนั้นเมื่อฉันทำgit statusมันจะบอกฉันว่าสาขาของฉันอยู่ข้างหน้าโดย X มุ่งมั่น (สันนิษฐานว่าจำนวนเดียวกันของการกระทำที่ฉันได้ทำ) เป็นเพราะเมื่อคุณกดรหัสมันไม่ได้อัพเดตไฟล์แคชในเครื่องของคุณ (ในโฟลเดอร์. git)? git pullดูเหมือนจะ 'แก้ไข' ข้อความแปลก ๆ นี้ แต่ฉันก็ยังสงสัยว่าทำไมมันถึงเกิดขึ้นบางทีฉันใช้คอมไพล์ผิด?


รวมถึงสิ่งที่สาขาจะพิมพ์ในข้อความ

สาขาในท้องถิ่นของฉันเป็นผู้นำ

คุณจะผลัก / ดึงสาขาปัจจุบันที่ไหน

ฉันกำลังผลักดันไปที่ GitHub และดึงคอมพิวเตอร์เครื่องใดก็ตามที่ฉันกำลังทำงานอยู่ ณ เวลานั้นสำเนาในเครื่องของฉันจะอัปเดตอยู่เสมอเพราะฉันเป็นคนเดียวที่ทำงานกับมัน

มันไม่ได้ตรวจสอบ repo ระยะไกลจริง ๆ

นั่นคือสิ่งที่ฉันคิดว่าฉันคิดว่าฉันจะทำให้แน่ใจว่าความเข้าใจของฉันมันถูกต้อง

คุณกำลังส่งข้อโต้แย้งพิเศษไปหรือไม่

ไม่ใช่ที่ฉันเห็น, บางทีมีการกำหนดค่าบางอย่างที่ตลกเกิดขึ้นในตอนท้ายของฉัน?

$ git status
# On branch master
# Your branch is ahead of 'origin/master' by 1 commit.
#
nothing to commit (working directory clean)

คุณเป็นอย่างไรpushและตั้งค่าการกำหนดค่าระยะไกลและสาขาของคุณอย่างไร
CB Bailey

2
มันไม่ได้ตรวจสอบ repo ระยะไกลจริง ๆ คุณต้องทำการเรียก git ดึงข้อมูลล่าสุดของ repo ระยะไกลหลังจากทำการพุชซึ่งจะอัปเดตสาขา "รีโมต" ในพื้นที่ที่ใช้ติดตาม
Sekhat

2
@Sekhat: ในขณะที่git statusไม่ได้ตรวจสอบที่เก็บระยะไกลgit pullทำ หากคุณมีสาขาการติดตามสำหรับที่เก็บที่คุณกดไปgit pushจะอัปเดตสาขาการติดตามในพื้นที่ของคุณเพื่อแสดงสถานะใหม่ของสาขาระยะไกลหากการพุชของคุณสำเร็จ นี่คือเหตุผลที่ฉันถามเกี่ยวกับการตั้งค่าของผู้ถามเพราะถ้ามันไม่เกิดขึ้นอย่างถูกต้องอาจมีข้อผิดพลาดการกำหนดค่า
CB Bailey

git status? จริงๆ? ฉันgit statusไม่เคยบอกฉันว่าสาขาของฉันจะไปไกลแค่ไหน ..
hasen

4
@hasen j: git statusไม่ไปที่พื้นที่เก็บข้อมูลระยะไกลเพื่อตรวจสอบว่าสาขาระยะไกลได้รับการปรับปรุง มันบอกให้คุณทราบว่าสาขาในท้องที่ของคุณจะถูกนำไปเปรียบเทียบกับสาขาติดตามระยะไกลในพื้นที่ของคุณ ปัญหาคือว่าปกติgit push(รวมถึงการดึงและดึง) ควรอัปเดตสาขาการติดตามระยะไกลและสำหรับผู้ถามที่ดูเหมือนจะไม่ทำงาน เพื่อดูว่าทำไมเราต้องเห็นทั้งรูปแบบที่แน่นอนของgit pushการใช้งานและการกำหนดค่าของที่เก็บในเครื่อง แต่เนื่องจากผู้ถามยอมรับคำตอบแล้วฉันไม่เห็นสิ่งนี้เกิดขึ้น
CB Bailey

คำตอบ:


508

ถ้าคุณได้รับข้อความนี้หลังจากทำลองต่อไปนี้มันขึ้นกับgit pull remote branch git fetch(เลือกที่git fetch -pจะรันเพื่อตัดสาขาที่ถูกลบจาก repo)

Fetch git pull remote branchดูเหมือนว่าจะปรับปรุงการแสดงท้องถิ่นของสาขาที่ห่างไกลซึ่งไม่จำเป็นต้องเกิดขึ้นเมื่อคุณทำ


1
ไชโย นั่นเป็นปัญหาจริงๆ ฉันเริ่มต้นด้วยการสร้างที่เก็บในรหัส Google จากนั้นฉันโคลนที่เก็บข้อมูลนี้บนแล็ปท็อปและทำงานที่นั่นและผลักดันการเปลี่ยนแปลงแล็ปท็อป => code.google ฉันเคยได้รับข้อความนี้บนเซิร์ฟเวอร์ของฉันซึ่งฉันได้สร้างโคลนของที่เก็บรหัส code.google และฉันใช้เพื่อดึงการเปลี่ยนแปลง ฉันคิดว่าการดึงข้อมูลจำเป็นต้องมีการอัพเดทฐานข้อมูลท้องถิ่น
rjha94

2
เรามีปัญหาเดียวกันที่นี่เพราะอีกสาขา (A) ชี้ไปที่ความมุ่งมั่นเดียวกันของเจ้านาย การดึง A แล้วการดึงตัวหลักส่งผลให้เกิดสถานการณ์เดียวกันนี้ เมื่อคอมไพล์ดึง A คอมมิทดิดจะถูกอัพเดตเป็นอันสุดท้ายดังนั้นการดึงตัวต้นแบบจึงไม่มีอะไรที่จะดึงได้จริงดังนั้นคอมไพล์ก็ไม่ได้อัปเดตคอมมิชชันสุดท้าย
Uberto

8
ขอบคุณแม้ว่าฉันสังเกตเห็นสิ่งแปลก ๆ "git fetch origin master" ไม่ได้ช่วยอะไร แต่ "git fetch origin" นั้นทำได้ ฉันอยู่ในสาขาหลักดังนั้นไม่แน่ใจว่า "git fetch origin" จะทำอะไรที่แตกต่างในบริบท
Parag

2
@Parag ดูstackoverflow.com/questions/26350876/…สำหรับคำอธิบายของความแตกต่างระหว่างคำสั่งทั้งสองและวิธีแก้ไขไฟล์กำหนดค่าเพื่อเปลี่ยนพฤติกรรมเพื่อให้การเรียกใช้สาขาจากระยะไกลยังปรับปรุงการอ้างอิงสาขาติดตามระยะไกลดังนั้น git_status ไม่ได้รายงาน 'ล่วงหน้าโดย'
Anatortoise House

2
@Parag, stackoverflow.com/questions/7365415/คำตอบยังกล่าวถึงรายละเอียดของ ORIG_HEAD และ FETCH_HEAD ที่ไม่ซิงค์ทำให้เกิดคำเตือนสถานะและแก้ไขไฟล์ config ที่เป็นไปได้
Anatortoise House

138

ใช้

git pull --rebase

ตัวเลือก --rebase หมายความว่าคอมไพล์จะย้ายการคอมมิทภายในเครื่องของคุณซิงโครไนซ์กับรีโมตแล้วลองใช้คอมมิทจากสถานะใหม่


3
วิธีที่ดีจริงๆในการป้องกันการรวมที่ไร้ประโยชน์และมีต้นกำเนิดที่สะอาด!
Hatef

1
ฉันพยายามที่คำสั่งนี้ แต่ฉันยังคงมีปัญหาเดียวกัน ...$ git pull --rebase Current branch xyz is up to date. $ git status On branch xyz Your branch is ahead of 'origin/xyz' by 6 commits. (use "git push" to publish your local commits) nothing to commit, working tree clean
BBH

4
คำตอบนี้ไม่ถูกต้อง: ถ้าคุณใช้โดยไม่เข้าใจสถานการณ์คุณอาจมีปัญหาเกิดขึ้นหลายครั้ง (ประวัติที่เขียนซ้ำ!) หากคุณเข้าใจสถานการณ์นี้จะไม่สามารถแก้ไขได้ โปรดคิดก่อนที่คุณจะพิมพ์เมื่อใช้gitและไม่เคยเขียนประวัติศาสตร์อย่างไม่สนใจ!
cmaster - คืนสถานะโมนิก้า

80

ใช้ 3 คำสั่งง่ายๆเหล่านี้

ขั้นตอนที่ 1 :git checkout <branch_name>

ขั้นตอนที่ 2 :git pull -s recursive -X theirs

ขั้นตอนที่ 3 :git reset --hard origin/<branch_name>

รายละเอียดเพิ่มเติม: https://stackoverflow.com/a/39698570/2439715

สนุก.


3
นี่เป็นคำตอบเดียวที่แก้ไขปัญหาให้ฉันได้ คำสั่งข้างต้นล้มลงอย่างประหลาดจาก 12 ถึง 7 คำสั่งและในที่สุดก็ลบเหล่านั้นออก
Ieuan

1
ฉันเห็นด้วยกับเรื่องนี้เป็นสิ่งเดียวที่ทำงานให้ฉัน ฉันเชื่อว่า GIT มีความผิดปกติทางบุคลิกภาพหลายครั้ง
ksed

11
เช่นเดียวกับ @leuan ไม่มีอะไรนอกจากgit reset --hard origin/masterล้างมันให้ฉัน
Dave Land

เช่นเดียวกันที่นี่เป็นขั้นตอนเดียวที่ทำงานให้ฉัน
Shard_MW

51

ฉันคิดว่าคุณ misreading ข้อความ - สาขาของคุณไม่ได้ไปข้างหน้าของmasterมันคือ masterมันไปข้างหน้าของorigin/masterซึ่งเป็นสาขาการติดตามระยะไกลที่บันทึกสถานะของพื้นที่เก็บข้อมูลระยะไกลจากที่ผ่านมาของคุณpush, หรือpull fetchมันบอกคุณอย่างชัดเจนว่าคุณทำอะไร คุณก้าวไปข้างหน้าจากระยะไกลและเตือนให้คุณดัน


22
นี่เป็นจริงหลังจากที่ฉันผลัก ฉันต้องดึง (หรืออาจจะดึงข้อมูล) เพื่อให้มันไม่มีข้อความนั้น
SeanJA

26

มีคนพูดว่าคุณอาจอ่านข้อความผิด ปัญหานี้เกี่ยวข้องกับ<project>/.git/configไฟล์ของคุณจริงๆ ในนั้นจะเป็นส่วนที่คล้ายกับนี้:

[remote "origin"]
    url = <url>
    fetch = +refs/heads/*:refs/remotes/origin/*

หากคุณลบบรรทัดดึงข้อมูลออกจากไฟล์. git / config ของโครงการคุณจะหยุด "สาขาของคุณอยู่ก่อนหน้า 'Origin / master' โดยการNกระทำ ความรำคาญที่เกิดขึ้น

หรืออย่างนั้นฉันหวังว่า :)


ฉันจะตรวจสอบว่าในครั้งต่อไปที่ฉันเห็นahead by x commitsข้อความ ฉันไม่เห็นข้อความมาระยะหนึ่งแล้ว
SeanJA

ฉันไม่เห็นข้อความมาระยะหนึ่งแล้ว ฉันคิดว่ามันเป็นเพราะฉันได้เริ่มต้นสร้าง repo คอมไพล์ในประเทศแล้วผลักดันมันไป repo ระยะไกลแทนวิธีอื่น ๆ ...
SeanJA

ฉันลองสิ่งนี้ แต่มันทำให้ eGit ใน Eclipse เริ่มโผล่ขึ้นมาด้วย "ข้อผิดพลาดภายใน" เมื่อฉันพยายามที่จะส่งมอบ แต่ดูเหมือนว่า Git จะทำงานได้ดี
user4815162342

18
บรรทัดนั้นทำอะไร แล้วฉันจะพลาดอะไรไปบ้างโดยการลบออก? (นอกเหนือจากความรำคาญ)
John Mee

1
สิ่งนี้ได้ผล แต่ก็เหมือนกับการระงับข้อผิดพลาด เพิ่มบรรทัดกลับและคุณจะเริ่มได้รับคำเตือนอีกครั้ง
กฤษณะ Pandey

15

ฉันมีปัญหานี้บนเซิร์ฟเวอร์เวทีของฉันที่ฉันดึงเท่านั้น และฮาร์ดรีเซ็ตช่วยให้ฉันทำความสะอาด HEAD ให้เหมือนกับรีโมทได้

git reset --hard origin/master

ดังนั้นตอนนี้ฉันมีอีกครั้ง:

On branch master
Your branch is up-to-date with 'origin/master'.

ฉันพยายามครั้งแรกโดยไม่ใช้ - ฮาร์ดธงและใช้งานได้!
kroiz

12

สิ่งนี้ใช้ได้สำหรับฉัน

git reset --hard origin/master

เอาต์พุตจะต้องมีลักษณะดังนี้

On branch dev HEAD is now at ae1xc41z Last commit message


11

ในกรณีของฉันมันเป็นเพราะฉันเปลี่ยนไปใช้ต้นแบบ

 git checkout -B master

เพียงดึงเวอร์ชั่นใหม่ออกมาแทน

 git checkout master

คำสั่งแรกรีเซ็ตหัวหน้าของอาจารย์เป็นกระทำล่าสุดของฉัน

ฉันใช้

git reset --hard origin/master

เพื่อแก้ไขที่


9

ฉันได้อ่านวิธีแก้ปัญหาทั้งหมดในหน้านี้และโชคดีที่ @ anatolii-pazhyn แสดงความคิดเห็นเพราะคำตอบของเขาเป็นวิธีที่ใช้ได้ผล น่าเสียดายที่ฉันไม่มีชื่อเสียงพอที่จะโหวตเขา แต่ฉันขอแนะนำให้ลองวิธีแก้ปัญหาของเขาก่อน:

git reset --hard origin/master

ซึ่งให้ฉัน:

HEAD is now at 900000b Comment from my last git commit here

ฉันขอแนะนำ:

git rev-list origin..HEAD
# to see if the local repository is ahead, push needed

git rev-list HEAD..origin
# to see if the local repository is behind, pull needed

คุณยังสามารถใช้:

git rev-list --count --left-right origin/master...HEAD
# if you have numbers for both, then the two repositories have diverged

ขอให้โชคดี


4

ฉันมีปัญหาเดียวกันนี้ในเครื่อง Windows เมื่อฉันรันgit pull origin masterคำสั่งฉันจะได้รับคำเตือน "ล่วงหน้าของ 'ต้นกำเนิด / หลัก' โดย X commits" ฉันพบว่าถ้าฉันวิ่งแทนgit pull originและไม่ได้ระบุสาขาฉันจะไม่ได้รับคำเตือนอีกต่อไป


ฉันเชื่อว่าสิ่งนี้จะgit fetchอยู่เบื้องหลังได้อย่างมีประสิทธิภาพ
Brian Peterson

"การเรียก git" ไม่ได้แก้ปัญหาของฉันสิ่งนี้ได้ ฉันได้รับรายชื่อสาขาที่เพิ่งเพิ่มใหม่และข้อความนี้ "คุณขอให้ดึงจากระยะไกล 'อัปสตรีม' แต่ไม่ได้ระบุสาขาเนื่องจากนี่ไม่ใช่รีโมตที่กำหนดค่าเริ่มต้นสำหรับสาขาปัจจุบันของคุณคุณต้องระบุสาขาในคำสั่ง ไลน์." และคำสั่ง "สถานะ git" ถัดไปไม่ได้แสดงคำเตือน
Krishna Pandey

2

มันแค่เตือนคุณถึงความแตกต่างระหว่างสาขาปัจจุบันและสาขาที่ติดตามในปัจจุบัน โปรดระบุข้อมูลเพิ่มเติมรวมถึงสาขาที่พิมพ์ในข้อความและคุณจะผลัก / ดึงสาขาปัจจุบัน


2

แม้ว่าคำถามนี้จะค่อนข้างเก่า แต่ฉันอยู่ในสถานการณ์ที่คล้ายกันและคำตอบของฉันที่นี่ช่วยฉันแก้ไขปัญหาที่คล้ายกันที่ฉันมี

ก่อนอื่นลองด้วยpush -fหรือบังคับตัวเลือก

หากไม่ได้ผลอาจเป็นไปได้ว่า (เช่นในกรณีของฉัน) ที่เก็บข้อมูลระยะไกล (หรืออ้างอิงถึงที่เก็บข้อมูลระยะไกลที่ปรากฏขึ้นgit remote -v) อาจไม่ได้รับการอัปเดต

ผลลัพธ์ที่ได้จากการกดของคุณทำให้ข้อมูลท้องถิ่น / สาขาของคุณกับรีโมต / สาขาของคุณอย่างไรก็ตามแคชใน repo ท้องถิ่นของคุณยังคงแสดงการกระทำก่อนหน้า (ของท้องถิ่น / สาขา ...

เพื่อยืนยันการโคลนข้างต้น repo ที่ตำแหน่งอื่นและลองเปรียบเทียบ local / branch HEAD และ remote / head HEAD หากพวกเขาทั้งคู่เหมือนกันคุณอาจประสบปัญหาที่ฉันทำ

สารละลาย:

$ git remote -v
github  git@github.com:schacon/hw.git (fetch)
github  git@github.com:schacon/hw.git (push)
$ git remote add origin git://github.com/pjhyett/hw.git
$ git remote -v
github  git@github.com:schacon/hw.git (fetch)
github  git@github.com:schacon/hw.git (push)
origin  git://github.com/pjhyett/hw.git (fetch)
origin  git://github.com/pjhyett/hw.git (push)
$ git remote rm origin
$ git remote -v
github  git@github.com:schacon/hw.git (fetch)
github  git@github.com:schacon/hw.git (push)

ตอนนี้ทำpush -fดังนี้

git push -f github master ### หมายเหตุคำสั่งของคุณไม่มีoriginอีกต่อไป!

ทำgit pullตอนนี้ git pull github master

เมื่อgit statusได้รับ

# On branch master

nothing to commit (working directory clean)

ฉันหวังว่าสิ่งนี้มีประโยชน์สำหรับใครบางคนเนื่องจากจำนวนการดูสูงมากจนการค้นหาข้อผิดพลาดนี้แสดงรายการหัวข้อนี้อยู่ด้านบนเกือบตลอดเวลา

ยังอ้างถึงgitrefเพื่อดูรายละเอียด


2

ฉันมีสิ่งนี้เกิดขึ้นจริงเมื่อฉันทำสวิตช์ / เช็คเอาต์กับ TortiseGIT

ปัญหาของฉันคือฉันได้สร้างสาขาขึ้นอยู่กับสาขาท้องถิ่นอื่น มันสร้างรายการ "ผสาน" /.git/configซึ่งมีลักษณะดังนี้:

[branch "web"]
    merge = refs/heads/develop
    remote = gitserver

เมื่อใดก็ตามที่ฉันเปลี่ยนเป็นสาขา "เว็บ" มันก็บอกฉันว่าฉันมีความมุ่งมั่นกว่า 100+ ก่อนที่จะพัฒนา ฉันไม่ได้มุ่งมั่นที่จะพัฒนาอีกต่อไปเพื่อให้เป็นจริง ฉันสามารถลบรายการนี้ออกและดูเหมือนว่าจะทำงานได้ตามที่คาดไว้ มันติดตามอย่างถูกต้องกับการอ้างอิงระยะไกลแทนที่จะบ่นเกี่ยวกับการอยู่เบื้องหลังการพัฒนาสาขา

ดังที่ Vikram กล่าวว่าเธรดสแต็คโอเวอร์โฟลว์นี้เป็นผลการค้นหาอันดับต้น ๆ ใน Google เมื่อค้นหาปัญหานี้ดังนั้นฉันคิดว่าฉันจะแบ่งปันสถานการณ์และวิธีแก้ปัญหาของฉัน


2

ฉันขอย้ำเหมือนที่ @Marian Zburlia ดังกล่าวข้างต้น มันทำงานได้สำหรับฉันและจะแนะนำเหมือนกันกับคนอื่น ๆ

git pull origin develop

$ git pull --rebaseควรจะตามด้วย

นี่จะเป็นการลบความคิดเห็นที่จะเกิดขึ้น$ git statusหลังจากการดึงครั้งล่าสุด


2

git fetch จะแก้ปัญหานี้ให้คุณ

หากความเข้าใจของฉันถูกต้องท้องถิ่นของคุณ (แคช) origin/masterล้าสมัย คำสั่งนี้จะอัปเดตสถานะที่เก็บจากเซิร์ฟเวอร์


1
โปรดเพิ่มคำอธิบายบางอย่าง
Mathews Sunny

2

จากนั้นเมื่อฉันทำสถานะคอมไพล์มันบอกฉันว่าสาขาของฉันอยู่ข้างหน้าโดย X กระทำ (สันนิษฐานว่าเป็นจำนวนเดียวกันของการกระทำที่ฉันได้ทำ )

ประสบการณ์ของฉันอยู่ในสภาพแวดล้อมแบบทีมที่มีหลายสาขา เราทำงานในสาขาฟีเจอร์ของเราเอง (ในโคลนนิ่งท้องถิ่น) และมันเป็นหนึ่งในนั้นที่git statusแสดงให้เห็นว่าฉันได้ทำสัญญาไว้ล่วงหน้า 11 ครั้ง สมมติฐานการทำงานของฉันเช่นเขียนคำถามที่เป็นที่ 11 จากกระทำของตัวเอง

ปรากฎว่าฉันได้ดึงการเปลี่ยนแปลงจากdevelopสาขาทั่วไปในสาขาคุณลักษณะของฉันเมื่อหลายสัปดาห์ก่อน - แต่ลืม! เมื่อฉันกลับมาที่สาขาสถานที่ในท้องถิ่นของฉันในวันนี้และได้git pull origin developเพิ่มขึ้นเป็น +41 คอมมิชชันไปข้างหน้า ทำงานเป็นจำนวนมากdevelopและสาขาคุณลักษณะในพื้นที่ของฉันก็ยิ่งก้าวหน้าไปข้างหน้าสาขาคุณลักษณะในที่originเก็บ

ดังนั้นหากคุณได้รับข้อความนี้ให้นึกย้อนกลับไปที่การดึง / การผสานใด ๆ ที่คุณอาจทำจากสาขาอื่น (ของคุณเองหรือของผู้อื่น) ที่คุณสามารถเข้าถึงได้ ข้อความเพียงแค่ส่งสัญญาณว่าคุณต้องการการเปลี่ยนแปลง ed git pushเหล่านั้นpullกลับไปสู่originrepo ('การติดตามสาขา') จาก repo ท้องถิ่นของคุณเพื่อรับสิ่งที่ซิงค์กัน


1

คำตอบที่แนะนำgit pullหรือgit fetchถูกต้อง
ข้อความจะถูกสร้างขึ้นเมื่อgit statusเห็นความแตกต่างระหว่าง.git/FETCH_HEADและ.git/refs/remotes/<repository>/<branch>(เช่น.git/refs/remotes/origin/master)

ไฟล์หลังบันทึก HEAD จากการดึงข้อมูลครั้งล่าสุด (สำหรับที่เก็บ / สาขา) การทำเช่นgit fetchการปรับปรุงทั้งสองไฟล์ไปที่หัวปัจจุบันสาขา
แน่นอนถ้าไม่มีสิ่งใดที่จะดึงข้อมูลได้ (เนื่องจากที่เก็บภายในเครื่องนั้นเป็นรุ่นล่าสุดแล้ว) ก็.git/FETCH_HEADจะไม่เปลี่ยนแปลง


นี้ไม่ได้ดูเหมือนจะเป็นกรณีที่สำหรับฉัน: .git/FETCH_HEADมี9f7336c873ccffc772168bf49807e23ff74014d3 branch 'master' of URLและ.git/refs/remotes/origin/masterมี9f7336c873ccffc772168bf49807e23ff74014d3แต่ฉันยังคงได้รับข้อความและค่าgit pullมิได้git fetchแก้มัน
Davide

0

หากคุณได้รับข้อความนี้หลังจากทำการคอมมิทเพื่อยกเลิกการติดตามไฟล์ในสาขาให้ลองทำการเปลี่ยนแปลงในไฟล์ใด ๆ และทำการคอมมิท เห็นได้ชัดว่าคุณไม่สามารถทำการกระทำเดียวซึ่งรวมถึงการยกเลิกการติดตามไฟล์ที่ติดตามก่อนหน้านี้เท่านั้น ในที่สุดก็โพสต์นี้ช่วยให้ผมแก้ปัญหาทั้งhttps://help.github.com/articles/removing-files-from-a-repository-s-history/ ฉันต้องลบไฟล์ออกจากประวัติที่เก็บ

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.