2013-10-24 18 views
8

Tôi đang tạo kho lưu trữ git cho cài đặt MacVim của mình. Một số plugin trong kho lưu trữ của tôi có các thư mục .git và repo của riêng chúng. Vấn đề là ... khi tôi cố thêm một trong các thư mục này vào kho lưu trữ chính của tôi, nó không làm gì cả.Git thêm Thư mục với Kho lưu trữ Git Hiện tại

tôi đoán:

tôi không thể thêm các thư mục vì nó là một repo git trên riêng của nó. Tôi phải thêm dưới dạng mô-đun con hoặc xóa thư mục .git.

Làm cách nào để thêm repos phụ của tôi dưới dạng submodule?

bryan-mini:.vim bsaltzman$ git status 
# On branch master 
# Changes not staged for commit: 
# (use "git add <file>..." to update what will be committed) 
# (use "git checkout -- <file>..." to discard changes in working directory) 
# (commit or discard the untracked or modified content in submodules) 
# 
# modified: bundle/YouCompleteMe (modified content) 
# modified: bundle/nerdtree (modified content) 
# modified: bundle/ultisnips (modified content) 
# 
no changes added to commit (use "git add" and/or "git commit -a") 

// This 
bryan-mini:.vim bsaltzman$ git add bundle/YouCompleteMe/ 
// OR THIS 
bryan-mini:.vim bsaltzman$ git submodule add bundle/YouCompleteMe/ 
repo URL: 'bundle/YouCompleteMe/' must be absolute or begin with ./|../ 

bryan-mini:.vim bsaltzman$ git status 
# On branch master 
# Changes not staged for commit: 
# (use "git add <file>..." to update what will be committed) 
# (use "git checkout -- <file>..." to discard changes in working directory) 
# (commit or discard the untracked or modified content in submodules) 
# 
# modified: bundle/YouCompleteMe (modified content) 
# modified: bundle/nerdtree (modified content) 
# modified: bundle/ultisnips (modified content) 
# 
no changes added to commit (use "git add" and/or "git commit -a") 

Trả lời

4

Dường như bạn có thể đã thêm chính xác những repos đó dưới dạng mô-đun phụ nhưng bạn đã thay đổi/thêm/xóa tệp bên trong các repos đó. Nếu bạn cd vào bundle/nerdtree và làm một 'git status' nó sẽ cho bạn biết những gì là khác nhau. Nếu bạn nhận được submodule trở lại vào trạng thái sạch cấp cao nhất ta nên ngừng nói "sửa đổi nội dung"

Ngoài ra, lệnh của bạn:

git submodule add bundle/YouCompleteMe/ 

là không chính xác. 'Submodule add git' mất một url repo như vậy:

git submodule add https://github.com/Valloric/YouCompleteMe.git 

Nhưng từ đầu ra của bạn có vẻ như bạn đã làm điều đó một cách chính xác tại một số điểm. Dường như bạn đang sử dụng Pathogen để quản lý các mô-đun con của bạn - tài liệu cho nó sẽ hướng dẫn bạn qua quá trình này khá tốt. Hoặc bạn có thể chuyển sang Vundle mà dường như có một số lợi thế (cá nhân tôi vẫn còn trên Pathogen).

0

cách chính xác để thêm Repos hiện có trong các thư mục con là đơn giản thực hiện:

git submodule add (repo url) trong thư mục mẹ.

Ví dụ:

cd ~/.vim/bundle 
git submodule add https://github.com/Valloric/YouCompleteMe.git 
Các vấn đề liên quan