Có một lệnh git stash
ngăn chặn các thay đổi của bạn, nhưng cũng giữ chúng trong thư mục làm việc không? Vì vậy, về cơ bản là git stash; git stash apply
trong một bước?Thay đổi sự cố trong khi vẫn giữ các thay đổi trong thư mục làm việc trong Git
Trả lời
Đối với những gì nó có giá trị, một cách khác để làm điều này là giai đoạn các thay đổi mà bạn muốn giữ lại, và sau đó cất giấu tất cả mọi thứ bằng --keep-index
:
$ git add modified-file.txt
$ git stash save --keep-index
Các lệnh trên sẽ stash tất cả mọi thứ bao gồm modified-file.txt
, nhưng nó cũng sẽ để lại tập tin đó dàn dựng và trong thư mục làm việc của bạn.
Từ official Linux Kernel Git documentation for git stash
:
Nếu tùy chọn
--keep-index
được sử dụng, tất cả những thay đổi đã được thêm vào chỉ mục còn lại nguyên vẹn.
git stash
và sau đó git stash apply
(git stash && git stash apply
) sẽ lưu trữ tệp và áp dụng ngay sau đó. Vì vậy, sau khi tất cả các bạn sẽ có những thay đổi của bạn trong stash và trong thư mục làm việc. Bạn có thể tạo một bí danh nếu bạn muốn nó trong một phần. Chỉ cần đặt một cái gì đó như thế này để ~/.gitconfig
:
[alias]
sta = "!git stash && git stash apply"
Có một mẹo có thể giúp bạn, không giấu' điều nhưng FWIW:
git add -A
git commit -m "this is what's called stashing" (create new stash commit)
git tag stash (mark the commit with 'stash' tag)
git reset HEAD~ (Now go back to where you've left with your working dir intact)
Và vì vậy bây giờ bạn có một cam kết stash được gắn thẻ theo ý của bạn, nó không thể làm một git stash pop
anyway nhưng bạn có thể làm những việc như tạo bản vá hoặc đặt lại các tệp, v.v. từ đó, các tệp dir làm việc của bạn cũng được giữ nguyên BTW.
Tăng cường nhỏ trong câu trả lời có thể sử dụng thực tế.
$ git add modified-file.txt
(OR $ git add . ---- for all modified file)
$ git stash save --keep-index "Your Comment"
- 1. Thay đổi thư mục làm việc trong C?
- 2. Thay đổi thư mục làm việc trong Xcode
- 3. SVN: đổi tên trong Repo-browser trong khi vẫn giữ bản sao làm việc đồng bộ
- 4. Giữ thay đổi địa phương trong một repo git
- 5. Các sự cố khi xử lý các thay đổi hướng
- 6. Thay đổi thư mục làm việc của msbuild.exe
- 7. Thay đổi thư mục làm việc thử nghiệm Á hậu
- 8. Tạm thời thay đổi thư mục hiện tại trong Rake
- 9. Tìm các tệp đã thay đổi trong thư mục ClearCase
- 10. Thay đổi tên thư mục khi nhân bản từ github?
- 11. làm thế nào để thay đổi mục tiêu liên kết tượng trưng trong khi vẫn giữ mã số
- 12. Làm thế nào để giữ git khỏi việc thay đổi quyền sở hữu tập tin
- 13. Làm thế nào để có được git thay đổi dòng kết thúc trong thư mục làm việc?
- 14. Tự động đẩy các thay đổi vào một thư mục trong kho git để github?
- 15. git kéo giữ các thay đổi cục bộ
- 16. thay đổi thư mục virtualenv trên windows
- 17. Git: Không bao giờ cam kết các tệp đã thay đổi (nhưng vẫn giữ nguyên bản sửa đổi.)
- 18. git Revert cam/đẩy nhưng giữ các thay đổi
- 19. Thay đổi vị trí thư mục kho Git.
- 20. git đánh dấu các tệp không thay đổi khi đã thay đổi
- 21. Tìm Bản sửa đổi Git của Thư mục Làm việc Thiếu Thư mục .git
- 22. Làm thế nào để giữ cho nhật ký thay đổi trong các tệp git khi tái cấu trúc trong IntelliJ?
- 23. Bảo quản các bảng được nối kết cho các DB Access trong cùng thư mục khi thư mục thay đổi
- 24. Chuyển đổi nhánh Git không thay đổi tệp thư mục mã
- 25. Thay đổi màu đầu ra "git status" trong Posh-Git
- 26. Thay đổi thư mục làm việc trong shell bằng tập lệnh python
- 27. Làm cách nào để thay đổi kích thước hình ảnh trong khi vẫn giữ tỷ lệ co trong CSS?
- 28. Các bản vẽ không thay đổi sau khi được thay thế bằng những người khác trong các thư mục
- 29. Cách thay đổi thư mục làm việc hiện tại trong Groovy
- 30. cách xem các thay đổi trong toàn bộ thư mục/thư mục chứa nhiều tệp sass
+1 nếu bạn cho tôi biết cách tạo bí danh – anthropomorphic
, sự khác nhau giữa 'stit git; git stash apply' và 'git stash && git stash apply'? – anthropomorphic
Tôi tin rằng sự khác biệt là ['&&' chạy lệnh thứ hai chỉ khi lần đầu tiên trả về mã trạng thái số không] (http://linux-training.be/files/books/html/fun/ch11s04.html). – madhead