Tôi cần phải đặt tất cả các cam kết của tôi trong một cái gọi là snapshot ban đầu, để phát hành nó trong một repo github, tôi biết rằng để làm điều này tôi làm theo thisSquash tất cả các cam kết của bạn trong một, trước khi một yêu cầu kéo trong github
câu hỏi đầu tiên của tôi là tôi muốn chia sẻ nó với một kho lưu trữ bên ngoài và điều này nói:
một lời cảnh báo: Chỉ làm điều này trên các cam kết chưa được đẩy một kho bên ngoài. Nếu những người khác làm việc dựa trên các cam kết rằng bạn sẽ xóa, nhiều xung đột có thể xảy ra. Chỉ cần không viết lại lịch sử của bạn nếu lịch sử được chia sẻ với người khác.
và những gì xảy ra tôi muốn đặt tất cả các cam kết của mình trong một duy nhất, làm thế nào để làm điều này:
Tôi cũng thấy điều này:
# Switch to the master branch and make sure you are up to date.
git checkout master
git fetch # this may be necessary (depending on your git config) to receive updates on origin/master
git pull
# Merge the feature branch into the master branch.
git merge feature_branch
# Reset the master branch to origin's state.
git reset origin/master
# Git now considers all changes as unstaged changes.
# We can add these changes as one commit.
# Adding . will also add untracked files.
git add --all
git commit
nhưng có gì xảy ra:
$ git reset origin/master
$ git add --all
$ git commit -m "initial snapshot"
On branch master
Your branch is up-to-date with 'origin/master'.
nothing to commit, working directory clean
gì bạn nhận được từ 'git rev-phân tích cú pháp tổng thể nguồn gốc/master'?Có vẻ như trước khi chạy 'git reset', bạn có thể đã bỏ công việc của mình. Đừng lo lắng nếu bạn có, như bạn có thể tìm thấy nó trong reflog ('git log -g'). – user3188445
Đây là những gì tôi nhận được: $ git rev-parse master origin/master 78c4e31d7f813a127603aa93d63eb2c9db8d7c47 78c4e31d7f813a127603aa93d63eb2c9db8d7c47 – anquegi
Được rồi, vì vậy chính là trở lại nguồn gốc/chủ. Và liệu 'git diff' hoặc' git diff --cached HEAD' có cho thấy bất kỳ thay đổi nào trong cây hoặc chỉ mục của bạn không? Nếu không, bạn có thể phải tìm nội dung của chủ nhân bị mất của bạn với 'git log -g'. – user3188445