Chào mọi người,

Điểm khác biệt lớn nhất giữa Git và SVN: Git là một distributed VCS
(hay decentralized VCS) còn SVN là centralized VCS.  Do đó mô hình
workflow giữa Git và SVN là tương đối khác nhau.  Tại một trang
[1]tutorial của Bazaar có giới thiệu và phân tích qua mô hình của một
distributed VCS.  Với một distributed VCS, mỗi commiter đều mang một
repository riêng; trong khi đó với centralized VCS thì chỉ có một
repository duy nhất tại một điểm, tất cả các commiter chỉ mang branch.

Mercurial, Bazaar, DARCS và hầu hết các modern VCS đều là distributed;
SVN, CVS là centralized.

On Thu, 3 Mar 2011, MinhHoang To wrote:

>
> Còn cái nhược điểm của Git thì có thể thấy là nó quá flexible trong
> việc share/fork repo nên nếu người dùng kô cẩn thận thì rất dễ nhầm
> lẫn
>

Tại sao vậy bác?  Thao tác nào có thể nhầm lẫn được với nhau?  Nếu
nhầm lẫn cũng có thể dễ dàng revert/reset lại được mà.

> On Thu, Mar 3, 2011 at 9:46 AM, Nguyen Vu Hung (VNC) <vuh...@vinicorp.com.vn> 
> wrote:
>       FYI,
>
>       Karl, tác giả subversion, recommends git cho các dự án mã mở
>       và canned hosting.
>
>       Lý do các bác đọc ở dưới.
>
>       -------- Original Message --------
>       Subject:
>       Re: [Poss-translators] git vs svn
>       Date:
>       Wed, 02 Mar 2011 12:02:33 -0500
>       From:
>       Karl Fogel <kfo...@producingoss.com>
>       Reply-To:
>       Karl Fogel <kfo...@producingoss.com>
>       To:
>       Nguyen Vu Hung <vuhung16p...@gmail.com>
>       CC:
>       poss-translat...@red-bean.com
>
> Nguyen Vu Hung <vuhung16p...@gmail.com> writes:
> >Should we mention that git is distributed and one of its
> >advantage which can be used on github are
> >
> >- pull/push for independent working
> >- permission on committing; I love this feature and
> >  if I am not mistaken, subversion does not have this feature
> >
> >Please fix me if I am worng.
>
> Subversion definitely has permission on committing; in fact on the
> server-side it has more control over permissioning than git does.  Well,
> Git doesn't really have a "server-side" anyway, since everyone has an
> independent repository.
>

Em không hoàn toàn đồng ý lắm với ý kiến của Karl.  Developer hoàn
toàn có thể làm việc với Git như với SVN, nghĩa là có một "dedicated
server-side" có phân định permission.  Bác lên github, mở một project
có nhiều người cùng dev sẽ thấy có vai trò Author và Commiter riêng.

>
> As you noticed, I'm rewriting Chapter 3 to bring it up-to-date.  A lot
> has changed in 5 years!  The two main changes are:
>
>   - To recommend Git as a default choice, with Subversion or Mercurial
>     as the next obvious choice.
>

Em chưa hiểu tại sao Karl lại recommend SVN và Mercurial là "obvious
choice" sau Git.  Bản chất của Git và Mercurial là giống nhau, và cả
hai cùng khác với SVN mà.

Cá nhân em khoái Git hơn SVN vì:

  - Tốc độ nhanh hơn.

  - Các thao tác xử lý rất linh động: creating, branching (branch,
    checkout), viewing (status, diff, log, blame, show, tag),
    reverting (reset, revert), updating (merge, fetch, apply, pull),
    ... cùng các tool nhỏ khác như archive, bisect, fsck, rebase,
    stash, ...

  - History được share và merge chứ không bị mất (như bác Hoàng nói).

  - Dễ học, dễ dùng.

  - Data, log, changes được hiển thị rất rõ ràng và chi tiết.

  - Áp dụng được nhiều workflow khi develop.

Best regards,
-- 
Dương "Yang" Hà Nguyễn
Web log: http://cmpitg.wordpress.com/
"Life is a hack"

-----BEGIN GEEK CODE BLOCK-----
Version: 3.12
GIT/C/ED/L d++ s-:-(:) !a C+++(++++) ULU++++>$ P-- L+++>$ E+++
W++>+++ N+ o+ K w--- O- M@ V- PS+ PE++ Y+>++ PGP++ t+ 5 X+ R-
tv+ b+++ DI+++ D++ G+++ e* h* r* y-
-----END GEEK CODE BLOCK-----
_______________________________________________
POST RULES : http://wiki.hanoilug.org/hanoilug:mailing_list_guidelines
_______________________________________________
HanoiLUG mailing lists: http://lists.hanoilug.org/
HanoiLUG wiki: http://wiki.hanoilug.org/
HanoiLUG blog: http://blog.hanoilug.org/

Trả lời cho