Skip to content

Commit

Permalink
Complete edit branch, add .gitignore. Add special thanks in README. E…
Browse files Browse the repository at this point in the history
…dit history
  • Loading branch information
vnwildman committed Feb 16, 2011
1 parent cb0579e commit e7cc2ae
Show file tree
Hide file tree
Showing 4 changed files with 28 additions and 24 deletions.
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
*.svn/*
7 changes: 5 additions & 2 deletions README
Original file line number Diff line number Diff line change
@@ -1,5 +1,8 @@
This project translate gitMagic ebook into Vietnamese.
Transalted by: Trần Ngọc Quân.
This project translate GitMagic ebook into Vietnamese.
License: GPL-3
Copyleft: GitMagic-vi team 2010-2011.
First transalted by: Trần Ngọc Quân.

Special thanks:
-Clytie Siddall
-GitHub.com
26 changes: 13 additions & 13 deletions vi/branch.txt
Original file line number Diff line number Diff line change
@@ -1,34 +1,34 @@
== Thủ Thuật Tạo Nhánh ==

Tạo nhánhtrộn là các đặc tính sát thủ của Git.
Tạo NhánhTrộn là các đặc tính sát thủ của Git.

*Vấn đề*: Những nhân tố bên ngoài chắc hẳn có đòi hỏi việc hoán chuyển nội dung. Một lỗi severe
bug manifests trong phiên bản đã được phát hành mà không được cảnh báo gì. The deadline for a
certain feature is moved closer. Một nhà phát triển phần mềm whose help you need for a key section of the project is about to leave. trong tất cả các trường hợp, bạn phải abruptly xóa bỏ cái mà bạn đang làm và nhắm vào on a completely different task.
*Vấn đề*: Những nhân tố bên ngoài chắc hẳn có đòi hỏi việc hoán chuyển nội dung. Một lỗi tồi tệ
xuất hiện trong phiên bản đã được phát hành mà không được cảnh báo gì. Điều tồi tệ nhất có thể xảy ra
là phải xóa bỏ hẳn đặc tính kỹ thuật đó. Người phát triển phần mềm, người mà đã giúp bạn viết nó, cần biết lý do về việc bãi bỏ. Trong tất cả các trường hợp, bạn đột ngột phải xóa bỏ cái mà bạn đang làm và nhắm hoàn toàn vào một nhiệm vụ khác.

Việc gán đoạn suy nghĩ có thể làm giảm hiệu suất làm việc của bạn, and the more cumbersome it is to switch contexts, càng lớn càng tổn thất. Đối với các hệ thống quản lý mã nguồn tập trung chúng ta phải tải về một bản sao công việc mới từ máy chủ trung tâm. Các hệ thống phân tán fare better, as we can clone the desired version locally.
Việc gán đoạn suy nghĩ có thể làm giảm hiệu suất làm việc của bạn, và việc hoán chuyển nội dung càng cồng kềnh vướng víu càng tổn thất. Đối với các hệ thống quản lý mã nguồn tập trung chúng ta phải tải về một bản sao công việc mới từ máy chủ trung tâm. Các hệ thống phân tán hoạt động hiệu quả hơn, như là chúng ta có thể nhân bản một cách cục bộ.

Nhưng việc nhân bản bắt buộc phải sao chép toàn bộ thư mục làm việc cũng như là toàn bộ các mục trong lịch sử cho đến thời điểm đã được chỉ ra. Dù là Git giảm bớt sự lãng phí cho việc này bằng cách chia sẻ và tạo ra các liên kết tệp tin cứng, chính bản thân các tệp tin dự án cũng phải được tạo ra trong các đề mục của chúng trong thư mục làm việc.

*Giải pháp*: Git có một công cụ tốt hơn để sử lý tình huống này, nó nhanh và tiết kiệm không gian lưu trữ hơn lệnh nhân bản: *git branch*.

Với những khả năng tuyệt diệu của mình With this magic word, các tệp tin trong thư mục của bạn suddenly shape shift từ phiên bản này sang phiên bản khác. Sự chuyển đổi này có thể làm nhiều hơn việc quay lại hay chuyển tiếp trong lịch sử một các đơn thuần. Các tệp tin của bạn có thể chuyển hình thái từ bản phát hành cuối thành phiên bản thử nghiệm, thành phiên bản phát triển hiện hành, thành phiên bản của người bạn của bạn, và cứ như thế.
Với vài câu thần chú, các tệp tin trong thư mục của bạn dễ dàng biến đổi từ phiên bản này sang phiên bản khác. Sự chuyển đổi này có thể làm nhiều hơn việc quay lại hay chuyển tiếp trong lịch sử một các đơn thuần. Các tệp tin của bạn có thể chuyển hình thái từ bản phát hành cuối thành phiên bản thử nghiệm, thành phiên bản phát triển hiện hành, thành phiên bản của người bạn của bạn, và cứ như thế.

=== The Boss Key ===
=== Nút Điều Khiển ===

Ever played one of those games where at the push of a button (``the boss key''), màn hình có lẽ hiển thị ngay một cái bảng hay một thứ gì đó? Thế thì nhỡ ông chủ của bạn đang đi lại trong văn phòng nơi bạn đang chơi trò chơi thì làm cách nào để nhanh chóng giấu chúng đi?
Mỗi khi chơi trò chơi, bạn bấm vào nút (``nút điều khiển''), màn hình có lẽ hiển thị ngay ra một cái bảng hay một thứ gì đó? Thế thì nhỡ ông chủ của bạn đang đi lại trong văn phòng nơi bạn đang chơi trò chơi thì làm cách nào để nhanh chóng giấu chúng đi?

Ở thư mục nào đó:

$ echo "I'm smarter than my boss" > myfile.txt
$ echo "Tôi thông minh hơn xếp của mình" > myfile.txt
$ git init
$ git add .
$ git commit -m "Lần commit bắt đầu"

Chúng ta đã tạo ra kho chứa Git mà nó theo dõi một tệp tin văn bản có chứa một thông điệp đã biết trước. Giờ hãy gõ:

$ git checkout -b boss # dường như chẳng có gì thay đổi sau lệnh này
$ echo "My boss is smarter than me" > myfile.txt
$ echo "Ông chủ thông minh hơn tôi" > myfile.txt
$ git commit -a -m "Lần commit khác"

Điều này cũng giống như việc chúng ta ghi đè lên tệp tin của mình sau đó commit nó. Nhưng không, đó chỉ là ảo tưởng. Gõ:
Expand Down Expand Up @@ -103,9 +103,9 @@ commit trước. Việc trộn các nhánh với nhau phát sinh ra một lần
có thể có nhiều cha, thế thì chúng ta phải theo cái nào?

Nó sẽ gọi ra 'cha' đầu tiên. Đây là
desirable bởi vì nhánh hiện hành trở thành cha đầu tiên trong suốt quá trình trộn;
điều ta mong muốn bởi vì nhánh hiện hành trở thành cha đầu tiên trong suốt quá trình trộn;
một cách thường xuyên, bạn chỉ liên quan đến những thay đổi mình tạo ra trong nhánh
hiện hành , as opposed to changes merged in từ các nhánh khác.
hiện hành , cốt để mà đối lập với việc trộn thay đổi từ các nhánh khác.

Bạn hãy quy một cha nào đó với một dấu mũ. Ví dụ, để hiển thị
nhật ký tính từ 'cha' thứ hai:
Expand Down Expand Up @@ -230,7 +230,7 @@ Bạn có thể có nhiều trạng thái được tạm giấu đi, và vận d

=== Làm Theo Cách Của Mình ===

Bạn có thể thấy là các nhánh phiền hà quá. Cuối cùng, clones hầu như là
Bạn có thể cảm thấy việc sử dụng nhánh phiền hà quá. Cuối cùng, clones hầu như là
lệnh nhanh nhất, và bạn có thể hoán chuyển giữa chúng với lệnh *cd* thay vì sử dụng
lệnh riêng của Git.

Expand Down
18 changes: 9 additions & 9 deletions vi/history.txt
Original file line number Diff line number Diff line change
@@ -1,16 +1,16 @@
== Bài Học về Lịch Sử ==

A consequence of Git's distributed nature is việc lịch sử có thể biên soạn lại
Một hệ quả tất yếu của đặc tính phân tán của Git là việc lịch sử có thể biên soạn lại một cách
dễ dàng. Nhưng nếu bạn xáo trộn quá khứ, hãy cẩn thận: chỉ biên soạn lại quá khứ trong lịch sử
chỉ khi bạn history which you alone possess. Just as nations forever argue over who
chỉ khi bạn sở hữu nó một mình. Just as nations forever argue over who
committed what atrocity, nếu một người khác có một bản sao mà nó lại có lịch sử khác với
cái của bạn, you will have trouble reconciling when your trees interact.
cái của bạn, bạn sẽ gặp rắc rối reconciling when your trees interact.

Một số nhà phát triển phần mềm quả quyết rằng lịch sử không thể thay đổi, tất cả mọi thứ.
Others feel trees should be made presentable trước khi chúng được phát hành ra
đại chúng. Git chấp nhận cả hai quan điểm. Giống như việc nhân bản, tạo nhánh và hòa trộn,
viết lại lịch sử đơn giản chỉ là một quyền lực mà Git trao cho bạn. It is up to you
to use it wisely.
viết lại lịch sử đơn giản chỉ là một quyền lực mà Git trao cho bạn. It is up to you
để sử dụng nó một cách bạo dạn.

=== Dừng Lại Sửa Chữa ===

Expand All @@ -27,7 +27,7 @@ Bạn muốn thêm vài chỉnh sửa vào lần cuối mình đã commit ư? Th

=== ... And Then Some ===

Hãy giả sử the previous problem is ten times worse. Trong một buổi làm việc dài, bạn đã tạo ra hàng đống các lần commit. Nhưng bạn không hoàn toàn hài lòng với cách mà chúng được tổ chức, và một số lần commit cần được soạn lại phần mô tả. Thế thì hãy gõ:
Hãy giả sử vấn đề trục trặc ở lần commit cách đây mười lần. Trong một buổi làm việc dài, bạn đã tạo ra hàng các lần commit. Nhưng bạn không hoàn toàn hài lòng với cách mà chúng được tổ chức, và một số lần commit cần được soạn lại phần mô tả. Thế thì hãy gõ:

$ git rebase -i HEAD~10

Expand All @@ -42,7 +42,7 @@ Thế thì:
-Xóa bỏ các lần commit bằng cách xóa các dòng tương ứng.
-Đặt lại các lần commit bằng các đặt lại các dòng.
- Thay thế `pick` với:
* `edit` để đánh dấu lần commit đó là dành cho việc tu bổ.
* `edit` để đánh dấu lần commit đó là dành cho việc tu bổ (amend).
* `reword` để thay đổi phần chú giải.
* `squash` để hòa trộn với lần commit trước.
* `fixup` để hòa trộn với lần commit trước và bỏ qua việc ghi lại phần chú giải.
Expand Down Expand Up @@ -75,7 +75,7 @@ Xem thêm trong *git help rebase* để thấy được chi tiết các ví dụ
Thỉnh thoảng, bạn muốn việc quản lý mã nguồn giống việc người ta vẽ quivalent of airbrushing people out
of official photos, việc tẩy xóa chúng từ lịch sử in a Stalinesque fashion. Ví
dụ, giả sử chúng ta có ý định phát hành dự án, nhưng lại liên đới đến một tệp tin mà nó
phải được giữ bí mật vì lý do nào đó. Có lẽ tôi đã quên khi ghi lại số thẻ tín dụng vào trong một tệp tin
phải được giữ bí mật vì lý do nào đó. Chẳng hạn như tôi đã quên khi ghi lại số thẻ tín dụng vào trong một tệp tin
văn bản và ngẫu nhiên nó được thêm vào trong dự án. Việc xóa tệp tin này là
chưa đủ, bởi vì ta có thể đọc nó từ lần commit cũ. Chúng ta phải gỡ bỏ
tệp tin này từ tất cả các lần đã commit:
Expand All @@ -88,7 +88,7 @@ chỉ bằng một lệnh đơn.

Sau này, thư mục +.git/refs/original+ mô tả trạng thái của công việc trước khi thực hiện. Check the filter-branch command did what you wanted, sau đó xóa thư mục này đi nếu bạn muốn chạy lệnh filter-branch lần nữa.

Cuối cùng, thay thế bản sao của dự án của bạn bằng phiên bản bạn đã sửa lại nếu bạn muốn to interact with them later.
Cuối cùng, thay thế bản sao của dự án của bạn bằng phiên bản bạn đã sửa lại nếu bạn muốn tương thích với chúng sau này.

=== Tự Tạo Lịch Sử ===

Expand Down

0 comments on commit e7cc2ae

Please sign in to comment.