Как я могу передать только некоторые файлы?
У меня есть два проекта. Один из них - "официальный" проект, а второй - легкая модификация (некоторые файлы добавлены). Я создал новую ветку, и я поместил в нее новые файлы. Но во время разработки некоторые файлы, общие для обеих ветвей, изменяются.
Как я могу зафиксировать только эти файлы?
Ответы
Ответ 1
Я предполагаю, что вы хотите зафиксировать изменения в одной ветке, а затем сделать эти изменения видимыми в другой ветке. В git у вас не должно быть никаких изменений в верхней части HEAD при смене ветвей.
Вы передаете только измененные файлы:
git commit [some files]
Или, если вы уверены, что у вас есть чистая область постановки, вы можете
git add [some files] # add [some files] to staging area
git add [some more files] # add [some more files] to staging area
git commit # commit [some files] and [some more files]
Если вы хотите сделать эту фиксацию доступной на обеих ветвях, вы делаете
git stash # remove all changes from HEAD and save them somewhere else
git checkout <other-project> # change branches
git cherry-pick <commit-id> # pick a commit from ANY branch and apply it to the current
git checkout <first-project> # change to the other branch
git stash pop # restore all changes again
Ответ 2
Получить список файлов, которые вы хотите совершить
$ git status
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)
modified: file1
modified: file2
modified: file3
modified: file4
Добавить файлы в очередь
$ git add file1 file2
Проверьте, что вы совершаете
$ git status
Changes to be committed:
(use "git reset HEAD <file>..." to unstage)
modified: file1
modified: file2
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)
modified: file3
modified: file4
Зафиксировать файлы с сообщением фиксации
$ git commit -m "Fixed files 1 and 2"
Если вы случайно совершили неправильные файлы
$ git reset --soft HEAD~1
Если вы хотите отключить файлы и начать с них
$ git reset
Unstaged changes after reset:
M file1
M file2
M file3
M file4
Ответ 3
Вы можете зафиксировать некоторые обновленные файлы, например:
git commit file1 file2 file5 -m "commit message"
Ответ 4
Некоторые из них кажутся "неполными"
Группы людей НЕ собираются знать, должны ли они использовать кавычки и т.д.
Добавить 1 конкретный файл, в котором также показаны пути местоположения
git add JobManager/Controllers/APIs/ProfileApiController.cs
Фиксировать
git commit -m "your message"
Push to remote repo
git push
В других ответах указывается stash и т.д., которые вы иногда захотите сделать
Ответ 5
Если у вас уже поставлены файлы, просто отключите их:
git reset HEAD [file-name-A.ext] [file-name-B.ext]
Затем добавьте их пополам обратно.
Ответ 6
Предположим, вы внесли изменения в несколько файлов, например:
File1
File2
file3
file4
File5
Но вы хотите зафиксировать только изменения File1 и File3.
Есть два способа сделать это:
1 > Сценируйте только эти два файла, используя:
git добавить файл1 файл2
тогда, commit
git commit -m "ваше сообщение"
затем нажмите
git нажмите
2 > Прямая фиксация
git commit file1 file3 -m "мое сообщение"
затем нажмите,
git нажмите
На самом деле первый метод полезен, если мы регулярно изменяем файлы и размещаем их → Крупные проекты, как правило, проекты Live.
Но если мы модифицируем файлы и не размещаем их, мы можем делать прямые commit → Small projects