Vâng, tôi cũng là người dùng cũ của svn và bây giờ sử dụng git cho tất cả các dự án của tôi.
Khi sử dụng git, bạn nên thay đổi cách suy nghĩ từ kiến trúc client-server được sử dụng trong svn. Trong svn, mọi thay đổi cần kết nối với máy chủ. Sử dụng git, repo của bạn nằm trong thư mục làm việc. Bạn không cần kết nối cho mọi hành động repo.
Chỉ sử dụng git push
và git pull
để đồng bộ hóa với repo. Hãy nghĩ về nó như sử dụng rsync hoặc bất kỳ giải pháp sao lưu nào, để làm cho hai địa điểm có cùng nội dung giống nhau. Cũng giống như bạn kết nối đĩa cứng sao lưu bên ngoài, sau đó làm cho nội dung trong nó giống với nội dung trong chính của bạn. Đó là cách sử dụng của git pull
và git push
.
Nếu bạn chỉ muốn quay lại và quay lại lịch sử, hãy sử dụng nó git checkout
. Xem id sửa đổi bằng cách sử dụng git history
. Nếu bạn đang sử dụng Linux, hãy sử dụng gitk
để xem cây sửa đổi. Trong Windows, git rùa có thể hiển thị nó bằng đồ thị sửa đổi.
Để quay lại bản sửa đổi mới nhất, hãy sử dụng git checkout master
. Trước khi thực hiện bất kỳ lệnh nào, hãy luôn tự mình làm git status
. Lệnh này sẽ hiển thị bất cứ điều gì bạn cần biết về điều kiện repo hiện tại, và hành động nào bạn cần làm để làm cho nó đúng. Trước khi thực hiện git pull
và git push
, tốt hơn là đảm bảo rằng kết quả git status
chứa văn bản working directory clean
.
Nếu bạn cần hoàn nguyên tệp về bản sửa đổi trước đó, bạn có thể làm điều đó với git merge
. Trước khi thực hiện nó vào một tập tin, kiểm tra nó trước tiên với git diff
. Ví dụ: git diff rev1:rev2 filename
. Nó sẽ in ra bất kỳ khác nhau giữa hai phiên bản. Thay đổi trong rev1 sẽ được thay thế bằng những thay đổi trong rev2. Vì vậy, để hoàn nguyên, rev2 sẽ cũ hơn rev1. Sau khi bạn thỏa mãn với kết quả khác, hãy thực hiện với git merge
, chỉ cần thay thế diff
bằng merge
, tất cả các thông số khác vẫn giữ nguyên.
Tôi hy vọng điều này sẽ giúp bạn. Chìa khóa chính là để thấy rằng thư mục làm việc của bạn là repo của bạn. Hiểu được điều này sẽ giúp bạn sử dụng git với khả năng đầy đủ của nó. Chúc may mắn.
Lưu ý phụ: Tôi đã quen với việc tránh 'git pull' hoàn toàn. Thay vào đó, tôi sử dụng 'git fetch --all' được đặt tên là' gu' trong bash, và có 'gitk' mở tất cả thời gian, xem tất cả các nhánh - xem View -> edit -> check all 4 checkboxes. Sau đó, tôi di chuyển bằng cách sử dụng 'git reset' hoặc' gist stash' + 'git co', phụ thuộc vào những gì tôi cần. –