Làm cách nào để chuyển trở lại 'master' với git?


135

Tôi đã thực hiện cam kết đầu tiên của mình; sau đó tạo một nhánh (giả sử là nhánh1).

Trong nhánh này, tôi đã tạo một thư mục 'ví dụ' và được cam kết. Trong GitHub tôi thấy chi nhánh mới của mình và thư mục mới 'ví dụ' mà tôi đã thêm.

Bây giờ tôi tự hỏi làm thế nào tôi có thể 'đồng bộ hóa' trở lại thành chủ; và thư mục 'ví dụ' đã bị xóa (vì nó không tồn tại trên master).

EDIT: find . -type d -empty -exec touch {}/.gitignore \; đã làm công việc.

Câu trả lời:


239

Bạn cần kiểm tra chi nhánh:

git checkout master

Xem tờ cheat Git để biết thêm thông tin.

Chỉnh sửa: Xin lưu ý rằng git không quản lý các thư mục trống, vì vậy bạn sẽ phải tự quản lý chúng. Nếu thư mục của bạn trống, chỉ cần loại bỏ nó trực tiếp.


"Đã có chủ" nhưng thư mục 'ví dụ' của tôi vẫn còn đó. Tôi muốn nhận được đồng bộ hóa với chủ (do đó không có thư mục này vì nó không tồn tại trong nhánh chính)
Vũ điệu

# Trên nhánh chủ không có gì để cam kết (thư mục làm việc sạch sẽ)
Sàn nhảy

@Disco: Tôi đã gặp vấn đề này trước đây-- nếu nó chắc chắn không được theo dõi trong chỉ mục, bạn có thể xóa thư mục cục bộ và bạn sẽ lấy lại được khi bạn git checkout branch1.
Bạch kim Azure

Mmmh quá tệ; không có một lựa chọn cho điều đó? Tôi không thể theo dõi rất nhiều thư mục trong đầu
Vũ điệu

6

Theo Git Chcoateet, bạn phải tạo chi nhánh trước

git branch [branchName]

và sau đó

git checkout [branchName]

2
tôi nghĩ bạn có thể kiểm tra lại câu hỏi một lần nữa
eli

2

Để xóa chi nhánh, bạn phải bỏ các thay đổi được thực hiện trên chi nhánh hoặc bạn cần phải thực hiện các thay đổi bạn đã thực hiện trên chi nhánh. Thực hiện theo các bước dưới đây nếu bạn thực hiện bất kỳ thay đổi trong chi nhánh hiện tại.

  1. git stash hoặc là git commit -m "XXX"
  2. git checkout master
  3. git branch -D merchantApi

Lưu ý: Các bước trên sẽ xóa chi nhánh cục bộ.


1

Tôi đang cố gắng sắp xếp mọi thứ xung quanh những gì đang diễn ra ở đó. Có bất cứ điều gì trong thư mục "ví dụ" của bạn? Git không theo dõi các thư mục trống.

Nếu bạn phân nhánh và chuyển sang chi nhánh mới, sau đó tạo một thư mục mới và để trống, sau đó thực hiện "git commit -a", bạn sẽ không nhận được thư mục mới đó trong cam kết.

Điều đó có nghĩa là nó không bị theo dõi, có nghĩa là kiểm tra một nhánh khác sẽ không loại bỏ nó.


git init'ed thư mục của tôi (/ home / dev) sau đó tôi đã "commit -a" và đẩy lên github. Sau đó, tôi đã tạo ra một chi nhánh mới; tạo một thư mục 'ví dụ' với một số tệp bên trong và cam kết chi nhánh. Bây giờ tôi muốn quay lại giai đoạn ban đầu (chính) mà không cần thư mục 'ví dụ' mà tôi đã tạo trong nhánh mới.
Vũ điệu

cũng trong nhánh chính, thư mục 'ví dụ' không có ở đó (như tôi thấy trong github)
Vũ điệu

cập nhật: tôi đã có một thư mục trống trong thư mục ví dụ; Đây có phải là lý do tại sao nó vẫn hiển thị cho tôi thư mục? Làm thế nào để thoát khỏi nó bằng git
Vũ điệu

Bạn không. git không biết về nó. Chỉ cần xóa nó. Kiểm tra master nên xóa bất kỳ tập tin nào trong nhánh nhưng không phải trong master khỏi thư mục làm việc của bạn.
Dan Ray

1

Sẽ đưa bạn đến chi nhánh chính.

git checkout master

Để chuyển sang các nhánh khác (bỏ qua dấu ngoặc vuông, nó chỉ nhằm mục đích nhấn mạnh)

git checkout [the name of the branch you want to switch to]

Để tạo một nhánh mới, hãy sử dụng -b như thế này (bỏ qua dấu ngoặc vuông, nó chỉ nhằm mục đích nhấn mạnh)

git checkout -b [the name of the branch you want to create]

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.