Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
Newer
Older
100644 232 lines (150 sloc) 12.74 kb
9282a40 @blynn Removed BOM from Vietnamese files.
authored
1 == Đa Người Dùng ==
bb96d20 @vnwildman Innit text file
vnwildman authored
2
81baba3 @vnwildman Retranslated and update Vietnamese.
vnwildman authored
3 Lúc đầu tôi sử dụng Git cho dự án riêng của mình mà tôi cũng là người duy nhất phát triển nó.
c20c729 @vnwildman Edit multiplayer.txt
vnwildman authored
4 Trong số những lệnh liên quan đến bản chất phân tán của Git, tôi chỉ cần lệnh *pull*
81baba3 @vnwildman Retranslated and update Vietnamese.
vnwildman authored
5 và *clone* để giữ cùng một dự án nhưng ở những chỗ khác nhau.
bb96d20 @vnwildman Innit text file
vnwildman authored
6
d1bff75 @vnwildman Continue edit intro.txt and multiplayer.txt
vnwildman authored
7 Sau đó tôi muốn mã nguồn của mình được phổ biến trên mạng bằng việc sử dụng Git, và bao gồm cả những thay đổi từ
8 những người đóng góp. Tôi đã phải học cách làm thế nào để quản lý các dự án có nhiều người phát triển phần mềm
9 ở khắp nơi trên toàn thế giới. May mắn thay, đây là sở trường của Git, và người ta có thể nói đây là
c20c729 @vnwildman Edit multiplayer.txt
vnwildman authored
10 điều sống còn của một hệ thống quản lý mã nguồn.
bb96d20 @vnwildman Innit text file
vnwildman authored
11
d1bff75 @vnwildman Continue edit intro.txt and multiplayer.txt
vnwildman authored
12 === Tôi Là Ai? ===
13
c20c729 @vnwildman Edit multiplayer.txt
vnwildman authored
14 Mỗi lần commit sẽ lưu giữ tên và địa chỉ thư điện tử, điều này có thể nhìn thấy bằng lệnh *git log*.
15 Theo mặc định, Git sử dụng các trường để lưu giữ các cài đặt trong hệ thống của mình.
2232870 @vnwildman l10n: vi: Update Vietnamese translation:
vnwildman authored
16 Để cài đặt các thông tin cá nhân của mình vào, hãy gõ:
bb96d20 @vnwildman Innit text file
vnwildman authored
17
18 $ git config --global user.name "John Doe"
19 $ git config --global user.email johndoe@example.com
20
c20c729 @vnwildman Edit multiplayer.txt
vnwildman authored
21 Bỏ qua cờ global để đặt những thông tin này chỉ sử dụng cho kho chứa hiện tại.
bb96d20 @vnwildman Innit text file
vnwildman authored
22
34ead3e @vnwildman Continue edit intro.txt
vnwildman authored
23 === Git Thông Qua SSH, HTTP ===
bb96d20 @vnwildman Innit text file
vnwildman authored
24
d1bff75 @vnwildman Continue edit intro.txt and multiplayer.txt
vnwildman authored
25 Giả sử bạn có thể truy cập vào một máy chủ web qua SSH, nhưng Git lại chưa được cài đặt ở đây. Mặc dù
26 không hiệu quả như giao thức nguyên bản của nó, nhưng Git vẫn có thể truyền thông thông qua HTTP.
bb96d20 @vnwildman Innit text file
vnwildman authored
27
c20c729 @vnwildman Edit multiplayer.txt
vnwildman authored
28 Tải về, dịch và cài Git bằng tài khoản của bạn, và tạo kho chứa tại
29 thư mục chứa trang web của bạn:
bb96d20 @vnwildman Innit text file
vnwildman authored
30
31 $ GIT_DIR=proj.git git init
32 $ cd proj.git
33 $ git --bare update-server-info
34 $ cp hooks/post-update.sample hooks/post-update
35
d1bff75 @vnwildman Continue edit intro.txt and multiplayer.txt
vnwildman authored
36 Với các phiên bản Git cũ, lệnh copy không thực hiện được và bạn phải chạy:
bb96d20 @vnwildman Innit text file
vnwildman authored
37
38 $ chmod a+x hooks/post-update
39
c20c729 @vnwildman Edit multiplayer.txt
vnwildman authored
40 Từ giờ bạn có thể xuất bản mới nhất của mình thông qua SSH từ một bản sao bất kỳ:
bb96d20 @vnwildman Innit text file
vnwildman authored
41
2232870 @vnwildman l10n: vi: Update Vietnamese translation:
vnwildman authored
42 $ git push máy.chủ.web:/đường/dẫn/đến/proj.git master
bb96d20 @vnwildman Innit text file
vnwildman authored
43
d1bff75 @vnwildman Continue edit intro.txt and multiplayer.txt
vnwildman authored
44 và mọi người có thể lấy dự án của bạn với lệnh:
bb96d20 @vnwildman Innit text file
vnwildman authored
45
2232870 @vnwildman l10n: vi: Update Vietnamese translation:
vnwildman authored
46 $ git clone http://máy.chủ.web/proj.git
bb96d20 @vnwildman Innit text file
vnwildman authored
47
c20c729 @vnwildman Edit multiplayer.txt
vnwildman authored
48 === Git Thông Qua Mọi Thứ ===
bb96d20 @vnwildman Innit text file
vnwildman authored
49
fcbea90 @vnwildman Edit multiplayer.txt and secrets.txt
vnwildman authored
50 Bạn muốn đồng bộ hóa kho chứa nhưng lại không có máy chủ và cũng không có mạng?
bd92721 @vnwildman Edit multiplayer.txt
vnwildman authored
51 Bạn cần trong những trường hợp khẩn cấp? Chúng ta đã biết lệnh <<makinghistory, *git
e928e51 @vnwildman vi: Fix typo and update preface:
vnwildman authored
52 fast-export* và *git fast-import* có thể chuyển đổi một kho chứa thành một tập tin đơn
bd92721 @vnwildman Edit multiplayer.txt
vnwildman authored
53 và ngược lại>>. Chúng ta có thể chuyển qua chuyển lại như vậy để truyền kho Git
54 đi thông qua bất kỳ phương tiện nào, nhưng có một công cụ hiệu quả hơn đó chính là *git bundle*.
bb96d20 @vnwildman Innit text file
vnwildman authored
55
efd6297 @vnwildman Edit multiplayer.txt
vnwildman authored
56 Người gửi tạo một 'bundle':
bb96d20 @vnwildman Innit text file
vnwildman authored
57
58 $ git bundle create somefile HEAD
59
efd6297 @vnwildman Edit multiplayer.txt
vnwildman authored
60 sau đó gửi bundle, +somefile+, tới người cần bằng cách nào đó: thư điện tử,
fcbea90 @vnwildman Edit multiplayer.txt and secrets.txt
vnwildman authored
61 ổ đĩa USB, và bản in *xxd* và một bộ quét nhận dạng chữ OCR, đọc các bit thông qua điện thoại,
62 tín hiệu khói, v.v.. Người nhận khôi phục lại các lần commit từ bundle nhận được bằng cách gõ:
bb96d20 @vnwildman Innit text file
vnwildman authored
63
64 $ git pull somefile
65
fcbea90 @vnwildman Edit multiplayer.txt and secrets.txt
vnwildman authored
66 Bộ nhận thậm chí có thể làm được việc này từ một kho chứa rỗng. Mặc dù kích
67 thước của nó, +somefile+ chứa các mục kho Git nguyên thủy.
bb96d20 @vnwildman Innit text file
vnwildman authored
68
81baba3 @vnwildman Retranslated and update Vietnamese.
vnwildman authored
69 Trong các dự án lớn hơn, việc triệt tiêu lãng phí bằng cách chỉ bundle những thay đổi còn thiếu
c6c4c4b @vnwildman Complete edit multiplayer, translate, edit history 90%, edit secret.
vnwildman authored
70 kho chứa khác. Ví dụ, giả sử lần commit ``1b6d...'' là lần commit gần nhất
efd6297 @vnwildman Edit multiplayer.txt
vnwildman authored
71 đã được chia sẻ giữa cả hai thành viên:
bb96d20 @vnwildman Innit text file
vnwildman authored
72
73 $ git bundle create somefile HEAD ^1b6d
74
c6c4c4b @vnwildman Complete edit multiplayer, translate, edit history 90%, edit secret.
vnwildman authored
75 Nếu phải làm việc này thường xuyên, một khó khăn là bạn không thể nhớ được chính xác lần commit tương ứng với lần gửi cuối. Trang
bd92721 @vnwildman Edit multiplayer.txt
vnwildman authored
76 trợ giúp sẽ gợi ý cho bạn cách sử dụng các thẻ (tag) để giải quyết vấn đề này. Ấy là, sau khi bạn gửi một bundle,
c6c4c4b @vnwildman Complete edit multiplayer, translate, edit history 90%, edit secret.
vnwildman authored
77 thì hãy gõ:
bb96d20 @vnwildman Innit text file
vnwildman authored
78
79 $ git tag -f lastbundle HEAD
80
efd6297 @vnwildman Edit multiplayer.txt
vnwildman authored
81 và tạo một bản bundles mới với:
bb96d20 @vnwildman Innit text file
vnwildman authored
82
83 $ git bundle create newbundle HEAD ^lastbundle
84
fcbea90 @vnwildman Edit multiplayer.txt and secrets.txt
vnwildman authored
85 === Vá: Sự Thịnh Hành Toàn Cầu ===
bb96d20 @vnwildman Innit text file
vnwildman authored
86
2232870 @vnwildman l10n: vi: Update Vietnamese translation:
vnwildman authored
87 Miếng vá được trình bày ở dạng văn bản để thể hiện các thay đổi của bạn, nó dễ dàng được đọc hiểu bởi
fcbea90 @vnwildman Edit multiplayer.txt and secrets.txt
vnwildman authored
88 con người cũng như là máy tính. Điều này mang lại cho chúng sức lôi cuốn toàn cầu. Bạn có thể gửi miếng vá qua
81baba3 @vnwildman Retranslated and update Vietnamese.
vnwildman authored
89 thư điện tử cho những nhà phát triển phần mềm khác mà chẳng cần lo họ đang sử dụng hệ thống quản lý mã nguồn nào. Chừng nào
c6c4c4b @vnwildman Complete edit multiplayer, translate, edit history 90%, edit secret.
vnwildman authored
90 mà độc giả của bạn có thể đọc được thư điện tử của mình thì họ còn có thể thấy được phần chỉnh sửa của bạn. Tương tự thế, về phía mình,
bd92721 @vnwildman Edit multiplayer.txt
vnwildman authored
91 những thứ bạn cần là có một địa chỉ thư điện tử: ở đây chẳng cần cài đặt kho chứa Git nào trên mạng.
bb96d20 @vnwildman Innit text file
vnwildman authored
92
fcbea90 @vnwildman Edit multiplayer.txt and secrets.txt
vnwildman authored
93 Sử dụng lại ví dụ từ chương đầu tiên:
bb96d20 @vnwildman Innit text file
vnwildman authored
94
95 $ git diff 1b6d > my.patch
96
81baba3 @vnwildman Retranslated and update Vietnamese.
vnwildman authored
97 đầu ra là một miếng vá mà bạn có thể dán vào một thư điện tử để trao đổi với người khác. Ở kho Git,
c20c729 @vnwildman Edit multiplayer.txt
vnwildman authored
98 gõ:
bb96d20 @vnwildman Innit text file
vnwildman authored
99
100 $ git apply < my.patch
101
c20c729 @vnwildman Edit multiplayer.txt
vnwildman authored
102 để áp dụng miếng vá.
bb96d20 @vnwildman Innit text file
vnwildman authored
103
c6c4c4b @vnwildman Complete edit multiplayer, translate, edit history 90%, edit secret.
vnwildman authored
104 Còn một hình thức định dạng khác nữa, tên và có lẽ cả chữ ký của tác giả cũng được
105 ghi lại, tạo miếng vá tương ứng với một thời điểm chính xác trong quá khứ bằng cách gõ:
bb96d20 @vnwildman Innit text file
vnwildman authored
106
107 $ git format-patch 1b6d
108
fcbea90 @vnwildman Edit multiplayer.txt and secrets.txt
vnwildman authored
109 Tệp tin lưu kết quả có thể chuyển cho lệnh *git-send-email*, hay có thể làm thủ công. Bạn cũng có thể chỉ định rõ một vùng commit:
bb96d20 @vnwildman Innit text file
vnwildman authored
110
111 $ git format-patch 1b6d..HEAD^^
112
e928e51 @vnwildman vi: Fix typo and update preface:
vnwildman authored
113 Ở phía người nhận cuối, ghi lại thư điện tử thành tập tin, sau đó chạy lệnh:
bb96d20 @vnwildman Innit text file
vnwildman authored
114
115 $ git am < email.txt
116
efd6297 @vnwildman Edit multiplayer.txt
vnwildman authored
117 Lệnh này sẽ áp dụng cho miếng vá nhận được, đồng thời tạo ra một lần commit, bao gồm các thông tin như là tác giả.
bb96d20 @vnwildman Innit text file
vnwildman authored
118
e928e51 @vnwildman vi: Fix typo and update preface:
vnwildman authored
119 Với một chương trình đọc thư điện tử, bạn có thể sử dụng con chuột để chuyển định dạng thư về dạng văn bản thuần trước khi ghi miếng vá thành một tập tin.
bb96d20 @vnwildman Innit text file
vnwildman authored
120
81baba3 @vnwildman Retranslated and update Vietnamese.
vnwildman authored
121 Có một số khác biệt nhỏ giữa các trình đọc đọc thư điện tử, nhưng nếu bạn sử dụng một trong
c6c4c4b @vnwildman Complete edit multiplayer, translate, edit history 90%, edit secret.
vnwildman authored
122 số chúng, bạn hầu như chắc chắn là người mà có thể cấu hình chúng một cách dễ dàng
fcbea90 @vnwildman Edit multiplayer.txt and secrets.txt
vnwildman authored
123 mà chẳng cần phải đọc hướng dẫn sử dụng!
bb96d20 @vnwildman Innit text file
vnwildman authored
124
d1bff75 @vnwildman Continue edit intro.txt and multiplayer.txt
vnwildman authored
125 === Rất tiếc! Tôi đã chuyển đi ===
bb96d20 @vnwildman Innit text file
vnwildman authored
126
d1bff75 @vnwildman Continue edit intro.txt and multiplayer.txt
vnwildman authored
127 Sau khi nhân bản kho chứa, việc chạy lệnh *git push* hay *git pull* sẽ tự động
128 push tới hay pull từ URL gốc. Git đã làm điều này như thế nào? Bí mật nằm ở chỗ
129 các tùy chọn config đã được tạo ra cùng với bản sao. Hãy xem thử:
bb96d20 @vnwildman Innit text file
vnwildman authored
130
131 $ git config --list
132
d1bff75 @vnwildman Continue edit intro.txt and multiplayer.txt
vnwildman authored
133 Tùy chọn +remote.origin.url+ sẽ lưu giữ URL; ``origin'' là cái tên
eeba1d9 @vnwildman Edit multiplayer.txt
vnwildman authored
134 được đặt cho kho nguồn. Với nhánh ``master'' theo như thường lệ, chúng ta có thể
d1bff75 @vnwildman Continue edit intro.txt and multiplayer.txt
vnwildman authored
135 thay đổi hay xóa các tên này nhưng chẳng có lý do gì để phải làm như thế cả.
bb96d20 @vnwildman Innit text file
vnwildman authored
136
d1bff75 @vnwildman Continue edit intro.txt and multiplayer.txt
vnwildman authored
137 Nếu kho chứa nguyên bản đã chuyển chỗ, chúng ta có thể cập nhật URL thông qua:
bb96d20 @vnwildman Innit text file
vnwildman authored
138
2232870 @vnwildman l10n: vi: Update Vietnamese translation:
vnwildman authored
139 $ git config remote.origin.url git://url.mới/proj.git
bb96d20 @vnwildman Innit text file
vnwildman authored
140
fcbea90 @vnwildman Edit multiplayer.txt and secrets.txt
vnwildman authored
141 Tùy chọn +branch.master.merge+ chỉ ra nhánh remote mặc định trong
142 lệnh *git pull*. Trong suốt quá trình nhân bản, nó được đặt cho nhánh hiện hành của kho chứa
bd92721 @vnwildman Edit multiplayer.txt
vnwildman authored
143 mã nguồn, như thế cho dù HEAD của kho nguồn về sau có
144 di chuyển đến một nhánh khác, lệnh pull sau này sẽ trung thành với
145 nhánh nguyên gốc.
bb96d20 @vnwildman Innit text file
vnwildman authored
146
bd92721 @vnwildman Edit multiplayer.txt
vnwildman authored
147 Tùy chọn này chỉ áp dụng cho kho chứa chúng ta lần đầu tiên nhân bản từ, nó
148 được ghi trong tùy chọn +branch.master.remote+. Nếu chúng ta pull từ kho
149 chứa khác chúng ta phải chỉ đích xác tên nhánh mà chúng ta muốn:
bb96d20 @vnwildman Innit text file
vnwildman authored
150
151 $ git pull git://example.com/other.git master
152
c20c729 @vnwildman Edit multiplayer.txt
vnwildman authored
153 Phần phía trên giải thích tại sao một số lệnh push và pull ví dụ của chúng ta lại không có
154 tham số.
bb96d20 @vnwildman Innit text file
vnwildman authored
155
bd92721 @vnwildman Edit multiplayer.txt
vnwildman authored
156 === Nhánh Trên Mạng ===
bb96d20 @vnwildman Innit text file
vnwildman authored
157
eeba1d9 @vnwildman Edit multiplayer.txt
vnwildman authored
158 Khi bạn nhân bản một kho chứa, bạn cũng đồng thời nhân bản tất cả các nhánh của nó. Bạn sẽ không nhận
c6c4c4b @vnwildman Complete edit multiplayer, translate, edit history 90%, edit secret.
vnwildman authored
159 được cảnh báo này bởi vì Git không thông báo cho bạn: bạn phải hỏi mới có thể biết chính xác.
160 Việc làm này giúp ngăn ngừa phiền phức do nhánh mạng gây ra cho
fcbea90 @vnwildman Edit multiplayer.txt and secrets.txt
vnwildman authored
161 các nhánh của bạn, và cũng làm cho Git dễ dàng hơn với người mới dùng.
bb96d20 @vnwildman Innit text file
vnwildman authored
162
d1bff75 @vnwildman Continue edit intro.txt and multiplayer.txt
vnwildman authored
163 Ta liệt kê các nhánh bằng lệnh:
bb96d20 @vnwildman Innit text file
vnwildman authored
164
165 $ git branch -r
166
d1bff75 @vnwildman Continue edit intro.txt and multiplayer.txt
vnwildman authored
167 Bạn nhận được kết quả trông giống như thế này:
bb96d20 @vnwildman Innit text file
vnwildman authored
168
169 origin/HEAD
170 origin/master
171 origin/experimental
172
fcbea90 @vnwildman Edit multiplayer.txt and secrets.txt
vnwildman authored
173 Những nhánh tương ứng và HEAD của kho chứa remote, và bạn có thể sử dụng
174 trong các lệnh Git thông thường. Ví dụ như là, giả sử bạn làm nhiều lần commit, và
e928e51 @vnwildman vi: Fix typo and update preface:
vnwildman authored
175 muốn so sánh chúng với bản đã fetch cuối cùng. Bạn cũng có thể tìm kiếm trong tập tin
fcbea90 @vnwildman Edit multiplayer.txt and secrets.txt
vnwildman authored
176 log để có được giá trị băm SHA1 thích hợp, nhưng dễ dàng hơn việc gõ:
bb96d20 @vnwildman Innit text file
vnwildman authored
177
178 $ git diff origin/HEAD
179
eeba1d9 @vnwildman Edit multiplayer.txt
vnwildman authored
180 Hay bạn có thể xem nhánh ``experimental'' đang làm gì:
bb96d20 @vnwildman Innit text file
vnwildman authored
181
182 $ git log origin/experimental
183
81baba3 @vnwildman Retranslated and update Vietnamese.
vnwildman authored
184 === Đa Máy chủ ===
bb96d20 @vnwildman Innit text file
vnwildman authored
185
d1bff75 @vnwildman Continue edit intro.txt and multiplayer.txt
vnwildman authored
186 Giả sử hai người cùng phát triển trên một sự án của chúng ta, và họ muốn
fcbea90 @vnwildman Edit multiplayer.txt and secrets.txt
vnwildman authored
187 giữ lại sự khác biệt trên cả hai. Chúng ta theo dõi hơn một kho chứa tại một thời điểm với lệnh:
bb96d20 @vnwildman Innit text file
vnwildman authored
188
189 $ git remote add other git://example.com/some_repo.git
190 $ git pull other some_branch
191
efd6297 @vnwildman Edit multiplayer.txt
vnwildman authored
192 Bây giờ chúng ta có thể trộn với nhánh của kho chứa thứ hai, và chúng ta
193 dễ dàng truy cập tất cả các nhánh của tất cả các kho chứa:
bb96d20 @vnwildman Innit text file
vnwildman authored
194
195 $ git diff origin/experimental^ other/some_branch~5
196
efd6297 @vnwildman Edit multiplayer.txt
vnwildman authored
197 Nhưng chúng ta chỉ muốn so sánh sự khác nhau giữ chúng nhưng không áp dụng các thay đổi này với chúng ta? Nói cách khác, chúng ta khảo sát các nhánh của họ nhưng không thay đổi những gì đang có trong thư mục làm việc của mình. Thế thì thay vì pull, ta dùng lệnh:
bb96d20 @vnwildman Innit text file
vnwildman authored
198
eeba1d9 @vnwildman Edit multiplayer.txt
vnwildman authored
199 $ git fetch # Lấy về từ nguyên gốc, theo mặc định.
200 $ git fetch other # Lấy về từ lập trình viên thứ hai.
bb96d20 @vnwildman Innit text file
vnwildman authored
201
eeba1d9 @vnwildman Edit multiplayer.txt
vnwildman authored
202 Lệnh này chỉ mang về phần lịch sử. Mặc dù thư mục làm việc vẫn còn nguyên chưa bị động đến,
c6c4c4b @vnwildman Complete edit multiplayer, translate, edit history 90%, edit secret.
vnwildman authored
203 chúng ta có thể xét bất kỳ nhánh nào của bất kỳ kho chứa nào trong một lệnh Git bởi vì chúng ta bây giờ
fcbea90 @vnwildman Edit multiplayer.txt and secrets.txt
vnwildman authored
204 đang làm việc trên bản sao trên máy của mình.
bb96d20 @vnwildman Innit text file
vnwildman authored
205
c6c4c4b @vnwildman Complete edit multiplayer, translate, edit history 90%, edit secret.
vnwildman authored
206 Giờ ta xét đến phần hậu trường, lệnh pull đơn giản là *fetch* sau đó *merge*.
d1bff75 @vnwildman Continue edit intro.txt and multiplayer.txt
vnwildman authored
207 Thông thường chúng ta *pull* bởi vì chúng ta muốn trộn với lần commit cuối cùng sau khi fetch;
bd92721 @vnwildman Edit multiplayer.txt
vnwildman authored
208 việc làm này là một ngoại lệ đáng chú ý.
bb96d20 @vnwildman Innit text file
vnwildman authored
209
efd6297 @vnwildman Edit multiplayer.txt
vnwildman authored
210 Xem *git help remote* để biết cách làm thế nào để gỡ bỏ kho chứa trên mạng, bỏ qua các nhánh
211 xác định, và những thứ khác nữa.
bb96d20 @vnwildman Innit text file
vnwildman authored
212
c20c729 @vnwildman Edit multiplayer.txt
vnwildman authored
213 === Sở Thích Riêng Của Tôi ===
bb96d20 @vnwildman Innit text file
vnwildman authored
214
d1bff75 @vnwildman Continue edit intro.txt and multiplayer.txt
vnwildman authored
215 Với dự án của mình, tôi thích những người cộng tác tạo các kho chứa ở nơi mà tôi có thể
eeba1d9 @vnwildman Edit multiplayer.txt
vnwildman authored
216 pull. Một số dịch vụ Git cho phép bạn đặt nhánh riêng của mình từ một dự án trên đó
d1bff75 @vnwildman Continue edit intro.txt and multiplayer.txt
vnwildman authored
217 chỉ cần sử dụng chuột.
bb96d20 @vnwildman Innit text file
vnwildman authored
218
fcbea90 @vnwildman Edit multiplayer.txt and secrets.txt
vnwildman authored
219 Sau khi tôi fetch một cây (tree), tôi chạy lệnh Git để di chuyển và xem xét các thay đổi,
220 với ý tưởng là để tổ chức và mô tả tốt hơn. Tôi trộn với các thay đổi của chính mình,
c6c4c4b @vnwildman Complete edit multiplayer, translate, edit history 90%, edit secret.
vnwildman authored
221 và có thể sẽ sửa thêm chút ít. Sau khi đã hài lòng, tôi push nó lên kho chứa chính.
bb96d20 @vnwildman Innit text file
vnwildman authored
222
d1bff75 @vnwildman Continue edit intro.txt and multiplayer.txt
vnwildman authored
223 Mặc dù tôi ít nhận được sự cộng tác, nhưng tôi tin rằng việc này sẽ thay đổi theo chiều hướng
224 tốt lên. Hãy đọc
225 http://torvalds-family.blogspot.com/2009/06/happiness-is-warm-scm.html[blog của Linus Torvalds].
bb96d20 @vnwildman Innit text file
vnwildman authored
226
81baba3 @vnwildman Retranslated and update Vietnamese.
vnwildman authored
227 Git thuận lợi trong việc tạo các miếng vá, cũng như là nó
228 tiết kiệm công sức cho chúng ta trong việc chuyển đổi chúng thành những lần commit dành cho Git. Hơn thế nữa, Git lưu giữ các thông tin rất chi tiết
d1bff75 @vnwildman Continue edit intro.txt and multiplayer.txt
vnwildman authored
229 như là ghi lại tên và địa chỉ thư điện tử của tác giả, cũng như là ngày tháng và
9e7b880 @vnwildman Edit multiplayer.txt
vnwildman authored
230 thời gian, và nó cũng đòi hỏi tác giả phải mô tả về những thay đổi mà họ đã tạo ra.
e928e51 @vnwildman vi: Fix typo and update preface:
vnwildman authored
231
Something went wrong with that request. Please try again.