จะติดตามเนื้อหาที่ไม่ได้ติดตามได้อย่างไร


159

ดูด้านล่างเส้นทึบสำหรับคำถามเดิมของฉัน

ฉันมีโฟลเดอร์ในไดเรกทอรีท้องถิ่นที่ไม่ได้ติดตาม เมื่อฉันวิ่งgit statusฉันจะได้รับ:

Changed but not updated:
modified:   vendor/plugins/open_flash_chart_2 (modified content, untracked content)

เมื่อฉันพิมพ์git add vendor/plugins/open_flash_chart_2จากนั้นลองgit statusอีกครั้งมันยังคงบอกว่าไม่ได้ติดตาม เกิดอะไรขึ้น?


นี่เป็นบทสรุปง่ายๆของครึ่งชั่วโมงล่าสุดของฉัน:

  • พบว่า repo Github ของฉันไม่ได้ติดตามvendor/plugins/open_flash_chart_2ปลั๊กอินของฉัน โดยเฉพาะไม่มีเนื้อหาและมันแสดงลูกศรสีเขียวบนไอคอนโฟลเดอร์

  • พยายาม git submodule init

    No submodule mapping found in .gitmodules for path 'vendor/plugins/open_flash_chart_2'
    
  • พยายาม git submodule add git://github.com/korin/open_flash_chart_2_plugin.git vendor/plugins/open_flash_chart_2

    vendor/plugins/open_flash_chart_2 already exists in the index
    
  • git status

    modified: vendor/plugins/open_flash_chart_2 (untracked content)
    
  • ตามล่าหาไฟล์ใด ๆ ที่มีชื่อ.gitmodulesในที่เก็บ / ไดเรกทอรีท้องถิ่นของฉัน แต่หาไม่พบ

ฉันต้องทำอย่างไรเพื่อให้submodules ทำงานได้ดังนั้น git สามารถเริ่มติดตามได้อย่างถูกต้อง?


สิ่งนี้อาจไม่เกี่ยวข้อง (ฉันรวมไว้ในกรณีที่ช่วยได้) แต่ทุกครั้งที่ฉันพิมพ์git commit -aมากกว่าปกติgit commit -m "my comments"จะทำให้เกิดข้อผิดพลาด:

E325: ATTENTION
Found a swap file by the name ".git\.COMMIT-EDITMSG.swp"
         dated: Thu Nov 11 19:45:05 2010
     file name: c:/san/project/.git/COMMIT_EDITMSG
      modified: YES
     user name: San   host name: San-PC
    process ID: 4268
While opening file ".git\COMMIT_EDITMSG"
         dated: Thu Nov 11 20:56:09 2010
  NEWER than swap file!  
Swap file ".git\.COMMIT_EDITMSG.swp" already exists!
[O]pen Read-Only, (E)dit anyway, (R)ecover, (D)elete it, (Q)uit, (A)bort:
Swap file ".git\.COMMIT_EDITMSG.swp" already exists!
[O]pen Read-Only, (E)dit anyway, (R)ecover, (D)elete it, (Q)uit, (A)bort:

ฉันเป็นมือใหม่ที่ Github และถึงแม้จะพยายามอ่านเอกสาร แต่ฉันก็รู้สึกงงงวยกับปัญหาเหล่านี้ ขอบคุณ.


2
ฉันสับสนเกี่ยวกับบางสิ่ง ที่หนึ่ง: ทำไมคุณพูด gitHub? ทุกสิ่งที่คุณพูดเกี่ยวกับเสียงในพื้นที่ (ยกเว้นลูกศรสีเขียว - ฉันไม่รู้อะไรเลย) ถูกต้องหรือว่าเป็นคำถามเกี่ยวกับการผลักดันการอัปเดตไปยัง GitHub? สอง: คุณเคยทำอะไรเพื่อสร้างปลั๊กอินนี้เป็น submodule หรือไม่? submodule เป็นที่เก็บคอมไพล์ในสิทธิของตนเอง คุณสร้างมันแยกต่างหากจากนั้นเพิ่มเข้าไปในซูเปอร์โปรเจ็กต์
Cascabel

1
อืมการแสดงผลสถานะ git แสดงให้เห็นว่ามี submodule อยู่ที่นั่นจริง ๆ ... แต่คุณไม่มีไฟล์. gitmodules จริงๆ? สุจริตถ้าปลั๊กอินนี้มี repo ของตัวเองและคุณรู้ว่าสิ่งที่รุ่นของมันที่คุณต้องการคุณก็สามารถลบไดเรกทอรีจากโครงการของคุณให้แน่ใจว่ามีรายการใน .gitmodules ไม่มีและผ่านการติดตั้ง submodule นี้,git submodule add git submodule update --init
Cascabel

Jefromi - ฉันยังไม่ได้พูดถึง Github มากกว่าสองครั้ง - ครั้งแรกเป็นเพราะลูกศรสีเขียวปรากฏที่ด้านบนของภาพโฟลเดอร์สีเหลืองในที่เก็บ Github จริงสำหรับ open_flash_chart_2 ฉันจะแก้ไขคำตอบอย่างมีความสุขเพื่อให้ชัดเจนขึ้น
sscirrus

1
@sscirrus: คุณควรมีความชอบแน่นอน, ซับโดเลชั่นหรือไม่ หากเป็นสิ่งภายนอกที่คุณไม่ต้องการใช้งาน แต่สิ่งที่คุณอาจต้องการรับการปรับปรุงควรเป็น submodule หากคุณไม่สนใจที่จะรับการอัพเดตจาก repo ดั้งเดิมของตนและอาจต้องการแฮ็คแหล่งข้อมูลด้วยตัวเองก็ไม่ควรเป็น submodule
Cascabel

1
คำถามนี้ดูเหมือนจะหมดจดเกี่ยวกับ submodules คอมไพล์ ฉันลบแท็กบางส่วนออกเนื่องจากคำถามนี้ไม่เกี่ยวข้องโดยตรงกับรางหรือ GitHub มันจะใช้กับกรณีการใช้งานgitทั้งหมด และtrackingดูเหมือนว่าจะใช้แท็กสำหรับหัวข้อ 'การติดตามผู้เยี่ยมชมเว็บไซต์' ดังนั้นจึงไม่สามารถใช้ได้
edgerunner

คำตอบ:


239

คุณได้เพิ่มvendor/plugins/open_flash_chart_2เป็นรายการ“ gitlink” แต่ไม่เคยกำหนดไว้ว่าเป็น submodule อย่างมีประสิทธิภาพคุณกำลังใช้คุณสมบัติภายในที่git submoduleใช้ (รายการ gitlink) แต่คุณไม่ได้ใช้คุณสมบัติ submodule เอง

คุณอาจทำสิ่งนี้:

git clone git://github.com/korin/open_flash_chart_2_plugin.git vendor/plugins/open_flash_chart_2
git add vendor/plugins/open_flash_chart_2

คำสั่งสุดท้ายนี้เป็นปัญหา ไดเรกทอรีvendor/plugins/open_flash_chart_2เริ่มต้นจากที่เก็บ Git อิสระ โดยปกติแล้วที่เก็บย่อยนั้นจะถูกเพิกเฉย แต่ถ้าคุณบอกให้git เพิ่มเพื่อเพิ่มมันอย่างชัดเจนมันจะสร้างรายการ gitlink ที่ชี้ไปที่ HEAD ของที่เก็บย่อยแทนการเพิ่มเนื้อหาของไดเรกทอรี มันอาจจะดีถ้าเพิ่ม gitจะปฏิเสธที่จะสร้าง "กึ่ง submodules"

ไดเรกทอรีปกติจะแสดงเป็นวัตถุต้นไม้ใน Git; วัตถุต้นไม้ให้ชื่อและการอนุญาตให้วัตถุที่พวกเขามี (โดยปกติวัตถุต้นไม้และหยดอื่น ๆ - ไดเรกทอรีและไฟล์ตามลำดับ) โมดูลย่อยจะแสดงเป็นรายการ“ gitlink”; รายการ gitlink มีชื่อวัตถุ (แฮช) ของการกระทำ HEAD ของ submodule เท่านั้น “ แหล่งเก็บข้อมูล” สำหรับการคอมมิทของ gitlink ถูกระบุไว้ใน.gitmodulesไฟล์ (และ.git/configไฟล์เมื่อเริ่มต้น submodule)

สิ่งที่คุณมีคือรายการที่ชี้ไปที่การคอมมิทเฉพาะโดยไม่บันทึกที่เก็บซอร์สสำหรับการคอมมิทนั้น คุณสามารถแก้ไขได้โดยการทำให้ gitlink ของคุณเป็นซับไดโทลที่เหมาะสมหรือลบ gitlink และแทนที่ด้วยเนื้อหา“ ปกติ” (ไฟล์และไดเรกทอรีธรรมดา)

เปลี่ยนให้เป็น Submodule ที่เหมาะสม

บิตเดียวที่คุณหายไปเพื่อกำหนดอย่างถูกต้องvendor/plugins/open_flash_chart_2เป็น submodule เป็น.gitmodulesไฟล์ โดยปกติ (หากคุณยังไม่ได้เพิ่มเป็นรายการ gitlink เปล่า) คุณจะใช้git submodule add:

git submodule add git://github.com/korin/open_flash_chart_2_plugin.git vendor/plugins/open_flash_chart_2

ตามที่คุณพบสิ่งนี้จะไม่ทำงานหากเส้นทางนั้นมีอยู่แล้วในดัชนี ทางออกคือการลบรายการ gitlink ออกจากดัชนีชั่วคราวแล้วเพิ่ม submodule:

git rm --cached vendor/plugins/open_flash_chart_2
git submodule add git://github.com/korin/open_flash_chart_2_plugin.git vendor/plugins/open_flash_chart_2

สิ่งนี้จะใช้พื้นที่เก็บข้อมูลย่อยที่มีอยู่ของคุณ (เช่นจะไม่โคลนพื้นที่เก็บข้อมูลต้นฉบับอีกครั้ง) และจัดวาง.gitmodulesไฟล์ที่มีลักษณะดังนี้:

[submodule "vendor/plugins/open_flash_chart_2"]
    path = vendor/plugins/open_flash_chart_2
    url = git://github.com/korin/open_flash_chart_2_plugin.git vendor/plugins/open_flash_chart_2

มันจะทำให้รายการที่คล้ายกันในพื้นที่เก็บข้อมูลหลักของคุณ.git/config(ไม่มีการpathตั้งค่า)

ยอมรับและคุณจะได้รับ submodule ที่เหมาะสม เมื่อคุณโคลนที่เก็บ (หรือการผลักดันเพื่อ GitHub และโคลนจากที่นั่น) คุณควรจะสามารถที่จะเริ่มต้นใหม่อีกครั้ง submodule git submodule update --initผ่าน

แทนที่ด้วยเนื้อหาธรรมดา

ขั้นตอนถัดไปจะถือว่าพื้นที่เก็บข้อมูลย่อยของคุณvendor/plugins/open_flash_chart_2ไม่มีประวัติท้องถิ่นใด ๆ ที่คุณต้องการเก็บไว้ (เช่นทั้งหมดที่คุณสนใจคือแผนผังการทำงานปัจจุบันของที่เก็บย่อยไม่ใช่ประวัติ)

หากคุณมีประวัติโลคัลในที่เก็บย่อยที่คุณสนใจคุณควรสำรองข้อมูล.gitไดเรกทอรีของที่เก็บย่อยก่อนที่จะลบในคำสั่งที่สองด้านล่าง (นอกจากนี้ให้พิจารณาตัวอย่างทรีย่อย gitด้านล่างซึ่งเก็บรักษาประวัติของ HEAD ของที่เก็บย่อย)

git rm --cached vendor/plugins/open_flash_chart_2
rm -rf vendor/plugins/open_flash_chart_2/.git # BACK THIS UP FIRST unless you are sure you have no local changes in it
git add vendor/plugins/open_flash_chart_2

เวลานี้เมื่อเพิ่มไดเรกทอรีมันไม่ใช่ที่เก็บย่อยดังนั้นไฟล์จะถูกเพิ่มตามปกติ น่าเสียดายเนื่องจากเราลบ.gitไดเรกทอรีไม่มีวิธีที่ง่ายสุด ๆ ในการอัปเดตสิ่งต่างๆด้วยแหล่งเก็บข้อมูลต้นฉบับ

คุณอาจลองใช้การรวมทรีย่อยแทน การทำเช่นนั้นจะช่วยให้คุณสามารถดึงการเปลี่ยนแปลงจากแหล่งเก็บข้อมูลได้อย่างง่ายดายในขณะที่เก็บไฟล์“ แบน” ไว้ในที่เก็บของคุณ (ไม่มีการส่งข้อมูลย่อย) คำสั่งgree subtreeบุคคลที่สามเป็นตัวหุ้มที่ดีรอบ ๆ ฟังก์ชันการรวมทรีย่อย

git rm --cached vendor/plugins/open_flash_chart_2
git commit -m'converting to subtree; please stand by'
mv vendor/plugins/open_flash_chart_2 ../ofc2.local
git subtree add --prefix=vendor/plugins/open_flash_chart_2 ../ofc2.local HEAD
#rm -rf ../ofc2.local # if HEAD was the only tip with local history

ต่อมา:

git remote add ofc2 git://github.com/korin/open_flash_chart_2_plugin.git
git subtree pull --prefix=vendor/plugins/open_flash_chart_2 ofc2 master

git subtree push --prefix=vendor/plugins/open_flash_chart_2 git@github.com:me/my_ofc2_fork.git changes_for_pull_request

ทรีย่อย gitยังมี--squashตัวเลือกที่ช่วยให้คุณหลีกเลี่ยงการรวมประวัติของที่เก็บซอร์สในประวัติของคุณ แต่ยังช่วยให้คุณสามารถดึงการเปลี่ยนแปลงต้นน้ำ


คริสฉันแค่ลองrm -rf vendor/plugins/open_flash_chart_2/.gitแล้วมันก็บอกว่า 'rm' ไม่เป็นที่รู้จัก จากนั้นฉันก็ลองgit rm -rf vendor/plugins/open_flash_chart_2/.gitแล้วมันก็บอกว่าfatal: pathspec 'vendor/plugins/open_flash_chart_2/.git' did not match any files(แต่ฉันสามารถไปที่นั่นได้ใน windows explorer!)
sscirrus

2
เราพูดถึงปัญหาเล็กน้อยในการแชท OP สามารถลบไดเรกตอรีของที่เก็บย่อย.gitและเพิ่มไฟล์“ แบน ๆ ” (ตัวเลือก“ เนื้อหาธรรมดา” ตัวแรก) อีกครั้ง
Chris Johnsen

1
สิ่งนี้ช่วยชีวิตฉันได้มากในวันก่อน ฉันได้เพิ่มบางสิ่งบางอย่างโดยมีไดเรกทอรี. git ไว้ใน repo git ของฉันแล้ว git kinda-sorta คิดว่ามันมี submodule ซึ่งทำให้ git svn dcommits ของฉันหลุดออกไป ฉันจะโหวตให้คุณ 3 ครั้งถ้าทำได้
davidtbernal

ต้องการชี้ปลั๊กอินของ บริษัท อื่นsubtreeไม่ให้สับสนกับการรวมทรีย่อย มันไม่ใช่เสื้อคลุม ผู้เขียนบอกว่า: P
NebulaFox

@NebulaFox: ในขณะที่ทรีย่อยของ gitไม่ได้เป็นเพียง wrapper ที่ล้อมรอบทรีทรี แต่แน่นอนว่ามันใช้เทคนิคเดียวกับขั้นตอน "ทรีทรีผสาน" (เช่นgit readtree --prefix=pathและทรีทรีผสานgit mergeกับ-s subtreeหรือ-Xsubtree=path ) มันมีความพิเศษอย่างมาก“ ด้านบน” เช่นกัน: --squashโหมด, splitคำสั่ง, และpushและpullผู้ช่วยเหลือ
Chris Johnsen

114

ฉันมีปัญหาเดียวกัน สาเหตุเนื่องจากมีโฟลเดอร์ย่อยที่มีโฟลเดอร์ ".git" การลบมันทำให้คอมไพล์มีความสุข


ใช่สิ่งนี้เกิดขึ้นกับฉันใน AndroidStudio repo git ถูกสร้างขึ้นแล้วในโฟลเดอร์ / app ในขณะที่ฉันพยายามสร้าง git repo หนึ่งโฟลเดอร์ขึ้นมา ขอบคุณ
ZirconCode

ฉันมีแอพเชิงมุม cli ที่สร้างขึ้นภายใต้โฟลเดอร์อื่น ๆ และโฟลเดอร์หนึ่งนั้นมีโฟลเดอร์. git: / นั่นเป็นปัญหาที่แท้จริงไม่ใช่สิ่งที่ submodule!
Pascal

สิ่งนี้ใช้ได้กับฉัน ... ฉันลองคอมไพล์แล้วเพิ่มหลายครั้ง แต่ไม่มีอะไรเกิดขึ้น แล้วฉันจะลบ.gitโฟลเดอร์
Ninja

1
แต่ถ้าฉันยังต้องการติดตามโฟลเดอร์ย่อยของฉันล่ะ? ฉันควรทำอย่างไรดี ?
cyber8200

มีกรณีเดียวกัน ยังคงต้องการติดตามโฟลเดอร์ย่อยที่มีโฟลเดอร์. git เศร้าอยู่ด้วย หลังจากลบโฟลเดอร์. git ที่เหมาะสมไปแล้วโฟลเดอร์นี้จะไม่ถูกติดตามอีกต่อไปในโฟลเดอร์. git หลักของฉัน ... . :(
sqp_125

14
  1. ฉันลบไดเรกทอรี. git ออกจากไดเรกทอรีใหม่เหล่านั้น (ซึ่งสามารถสร้างดราม่าดราม่าได้ Google ถ้าสนใจ)
  2. ฉันรัน git rm -rf --cached / the / new / directory
  3. จากนั้นฉันจะเพิ่มไดเรกทอรีอีกครั้งด้วย git add จากข้างบน

URL อ้างอิงhttps://danielmiessler.com/blog/git-modified-untracked/#gs.W0C7X6U


6

เพื่อชี้ให้เห็นสิ่งที่ฉันต้องขุดจากการแชทของ Chris Johansen กับ OP (เชื่อมโยงจากการตอบกลับคำตอบ):

git add vendor/plugins/open_flash_chart_2 # จะเพิ่ม gitlink เนื้อหาจะไม่ถูกติดตาม

git add vendor/plugins/open_flash_chart_2/ # สังเกตเห็นการเฉือน !!!!

แบบฟอร์มที่สองจะเพิ่มโดยไม่มี gitlink และเนื้อหาสามารถติดตามได้ . git dir ถูกละเว้น & โดยอัตโนมัติ ขอบคุณคริส!


5

ฉันใช้เคล็ดลับที่แนะนำโดย Peter Lada ตลอดเวลาขนานนามว่า "submodules ปลอม":

http://debuggable.com/posts/git-fake-submodules:4b563ee4-f3cc-4061-967e-0e48cbdd56cb

มันมีประโยชน์มากในหลาย ๆ สถานการณ์ (ฉันใช้มันเพื่อเก็บ Emacs ของฉันทั้งหมดไว้ในที่เก็บรวมถึง HEAD ปัจจุบันของที่เก็บ git ทั้งหมดใน elpa / el-get package แพ็คเกจดังนั้นฉันสามารถย้อนกลับ / ส่งต่อไปยังที่รู้จักได้ง่าย รุ่นที่ใช้งานได้เมื่อมีการอัพเดทเกิดขึ้น)


3

http://progit.org/book/ch6-6.html

ฉันคิดว่าคุณควรอ่านสิ่งนี้เพื่อเรียนรู้เล็กน้อยเกี่ยวกับ submodule มันเขียนได้ดีและใช้เวลาไม่นานในการอ่าน


3

ฉันมีปัญหาเดียวกันกับโครงการขนาดใหญ่ที่มี submodules มากมาย จากคำตอบของChris Johnsen ที่นี่และVonC ที่นี่ฉันสร้างสคริปต์ทุบตีสั้น ๆ ซึ่งวนซ้ำผ่านรายการ gitlink ที่มีอยู่ทั้งหมดและเพิ่มพวกเขาเป็น submodules ที่เหมาะสม

#!/bin/bash

# Read all submodules in current git
MODULES=`git ls-files --stage | grep 160000`

# Iterate through every submodule path
while read -r MOD; do
  # extract submodule path (split line at whitespace and take string with index 3)
  ARRIN=(${MOD})
  MODPATH=${ARRIN[3]}

  # grep module url from .git file in submodule path
  MODURL=`grep "url = " $MODPATH/.git/config`
  MODURL=${MODURL##*=}

  # echo path and url for information
  echo $MODPATH
  echo $MODURL

  # remove existing entry in submodule index
  git rm --cached $MODPATH
  # add new entry in submodule index
  git submodule add $MODURL $MODPATH
done <<< "$MODULES"

สิ่งนี้แก้ไขให้ฉันฉันหวังว่าจะเป็นความช่วยเหลือใด ๆ


2

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

git update-index --skip-worktree

หากไม่สามารถใช้กับชื่อพา ธ ได้ให้ลองใช้ชื่อไฟล์ แจ้งให้เราทราบว่าสิ่งนี้ได้ผลกับคุณเช่นกัน

บาย!


1

พบปัญหาเดียวกัน แต่ไม่ได้รับการแก้ไขในการสนทนานี้

ฉันตีด้วยปัญหา submodule ตามที่อธิบายไว้ในการเปิดด้าย

% git status          
# On branch master
# Changes not staged for commit:
#   modified:   bundle/taglist (untracked content)

เมื่อมองถึงความแตกต่างฉันจำได้ว่า -dirty ต่อท้ายแฮช: อ่านเอกสารอีกครั้งแก้ปัญหาให้ฉัน http://web.mit.edu/jhawk/mnt/spo/git/git-doc/user-manual.html ดูหัวข้อ "ผิดพลาดกับ submodules"

เหตุผลคือมีการเปลี่ยนแปลงหรือเนื้อหาที่ไม่ได้ติดตามภายใน submodule ก่อนอื่นฉันต้องไปที่ไดเรกทอรี submodule ทำ "git add" + "git commit" เพื่อให้เนื้อหาทั้งหมดถูกติดตามภายใน submodule

Then "git status" on the master stated
% git commit
# On branch master
# Changes not staged for commit:
#   modified:   bundle/taglist (new commits)

ตอนนี้ HEAD ใหม่จาก submodule สามารถส่งไปยังโมดูลหลักได้


1

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

หลังจากไตร่ตรองอย่างถี่ถ้วนกับเพื่อนร่วมงานของฉันเราตัดสินใจที่จะติดตั้งและคัดลอกวางการอ้างอิงของเราแทนที่จะทำการติดตั้งนักแต่งเพลงหรือติดตั้ง npm

สิ่งนี้ทำให้เราไม่เพิ่มผู้ขายและ npm_modules ใน gitignore นี่คือเมื่อฉันพบปัญหานี้

Changed but not updated:
modified:   vendor/plugins/open_flash_chart_2 (modified content, untracked content)

ฉัน googled นี้เล็กน้อยและพบกระทู้ที่เป็นประโยชน์ใน SO ไม่ได้เป็นมืออาชีพมากเกินไปใน Git และมีความมึนเมานิดหน่อยในขณะที่กำลังทำอยู่ฉันแค่ค้นหา submodules ทั้งหมดในโฟลเดอร์ผู้ขาย

find . -name ".git"

สิ่งนี้ทำให้ฉันพึ่งพา 4-5 คนที่มีคอมไพล์พวกเขา ฉันลบโฟลเดอร์. git และ voila เหล่านี้ทั้งหมดไป ฉันรู้ว่ามันแฮ็กและไม่ใช่คนขี้เหนียวมาก ๆ โอพระเจ้าของดังนั้นโปรดยกโทษให้ฉัน! ครั้งต่อไปฉันสัญญาว่าจะอ่าน gitlinks และเชื่อฟัง O Linus Tovalds อันยิ่งใหญ่


1

คำถามนี้ได้รับคำตอบแล้ว แต่คิดว่าฉันจะเพิ่มสิ่งที่ฉันค้นพบเมื่อฉันได้รับข้อความเหล่านี้

ฉันมี repo ชื่อplaygroundที่มีแอพแซนด์บ็อกซ์จำนวนหนึ่ง ฉันได้เพิ่มแอพใหม่สองแอพจากบทช่วยสอนในplaygroundไดเรกทอรีโดยการโคลน repo ของบทช่วยสอน ผลลัพธ์คือสิ่งที่คอมไพล์ของแอพใหม่ชี้ไปที่ repo ของบทช่วยสอนและไม่ใช่ที่ repo ของฉัน การแก้ปัญหาคือการลบ.gitไดเรกทอรีจากแต่ละไดเรกทอรีปพลิเคชันเหล่านั้นmvปพลิเคชันไดเรกทอรีนอกplaygroundไดเรกทอรีและจากนั้นพวกเขากลับมาและเรียกใช้mv git add .หลังจากนั้นก็ใช้งานได้


1

ฉันแก้ไขปัญหานี้ด้วยการลบไฟล์. git จากโฟลเดอร์ย่อย

  1. ขั้นแรกให้ลบไฟล์. git จากโฟลเดอร์ย่อยของคุณ
  2. จากนั้นลบโฟลเดอร์ย่อยของคุณออกจาก git โดยใช้รหัสนี้git rm -rf --cached your_subfolder_name
  3. จากนั้นเพิ่มโฟลเดอร์อีกครั้งโดยgit add คำสั่ง

0

ขั้นแรกไปที่ไดเรกทอรี : ผู้ขาย / ปลั๊กอิน / open_flash_chart_2และDELETE


แล้ว:

git rm --cached vendor/plugins/open_flash_chart_2  
git add .  
git commit -m "Message"  
git push -u origin master  

git status  

เอาท์พุท

ในสาขาหลักสาขา
ของคุณทันสมัยกับ 'ต้นกำเนิด / ต้นแบบ'
ไม่มีอะไรให้คอมมิทไดเรกทอรีทำงานสะอาด

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