Типы ссылок по умолчанию равны null, чтобы указать, что они не ссылаются на какой-либо объект. Следовательно, если вы попытаетесь получить доступ к объекту, на который ссылаетесь, а его нет, вы получите исключение NullReferenceException.
Для Ex:
SqlConnection connection = null;
connection.Open();
Когда вы запускаете это кода, вы получите:
System.NullReferenceException: Object reference not set to an instance of an object.
Вы можете избежать этой ошибки, например, следующим образом:
if (connection != null){
connection.Open();
}
Примечание. Чтобы избежать этой ошибки, вы всегда должны инициализировать свои объекты прежде чем пытаться что-либо сделать с ними.
Перед тем как вернуться к основной ветке, вам нужно добавить и зафиксировать изменения в ветке.
Использование:
git checkout mywork
# Modify files
git add . # Adds all edited files to the repository
git commit -m "Message about the changes"
git checkout master
Вы можете найти много информации о Git в Git Book
Ваш рабочий каталог и ваш репозиторий отделены друг от друга, в том смысле, что код в вашем рабочем каталоге не связан с веткой, пока она не будет зафиксирована.
Чтобы еще больше загрязнять воды, git ввел новую концепцию, называемую индексом, которая является промежуточной площадкой между вашим рабочим каталогом и репозиторием . Когда вы запускаете git add
в файле, вы действительно действительно добавили его в индекс. Аналогично, когда вы запускаете git commit
, вы, наконец, добавляете содержимое индекса в репозиторий.
git status
различает индекс и рабочий каталог следующим образом.
Changes to be committed:
указывает на изменения индекса Changed but not updated:
указывает на изменения в рабочем каталоге на файлы, которые уже были добавлены в репозиторий (а затем не проигнорированы) Untracked files:
указывает на изменения в рабочем каталоге на файлы, которые уже добавлены not в репозиторий . Если у вас есть несколько изменений, которые вы хотите сохранить для момент, но не гарантирующий их собственную ветвь, используйте git stash
. Это механизм git для создания чрезвычайно легкой ветви с одним фиксатором. На странице man (выделение мое):
Используйте
blockquote>git stash
, когда вы хотите записать текущее состояние рабочего каталога и индекса , но вы хотите вернуться в чистый рабочий каталог. Команда сохраняет ваши локальные модификации и возвращает рабочий каталог в соответствии с фиксациейHEAD
.
, потому что вы не совершили их в ветке моей работы. после того, как вы зафиксируете их и проверите мастер-ветку, вы не найдете, что изменения
вы найдете , это SO сообщение очень полезно
В несколько более понятном английском, чем другие (правильные) ответы: git checkout
не останавливает файлы, о которых он не знает. Поскольку вы еще не сделали git add
в файле file1.html и file2.html, git не знает о них и поэтому не удаляет их при изменении ветвей.
Если вы были add
и commit
их на ветке моей работы, они уйдут, когда вы проведете мастер, и вернитесь, когда вы посмотрите мои работы.