Công cụ thành viên

Công cụ trang web


programming:vcs:git

Khác biệt

Đây là những khác biệt giữa hai phiên bản của trang.

Liên kết đến bản xem so sánh này

Phiên bản trước của cả hai bênPhiên bản trước
Phiên bản sau
Phiên bản trước
programming:vcs:git [2012/12/26 01:40] – [Hướng dẫn cài đặt và sử dụng Git Bash trên window] hoaquynhtim99programming:vcs:git [2017/11/01 14:48] (hiện tại) vuthao
Dòng 34: Dòng 34:
 Xem chi tiết tại: http://wiki.eclipse.org/EGit/User_Guide Xem chi tiết tại: http://wiki.eclipse.org/EGit/User_Guide
  
-==== Hướng dẫn cài đặt và sử dụng Aptana tương tác vớGithub ==== +== Đối vngưquản lý ==
-1) Download và cài đặt Aptana tại địa chỉ http://www.aptana.com/products/studio3/download+
  
-2) Cài đặt Aptana theo hướng dẫn Video Dướ(Video hướng dẫn được thực hiện trên  Aptana Studio 3.2.2 Microsoft Windows Standalone Version) +==== Hướng dẫn merge và xử lý lỗconflic Pull Request trên Git ====
-{{youtube>JLyzjdS3Svc?medium}}+
  
-Trong qua trình cài đặbn nên thay đi thư mục cài đAptana về thư mục ''D:\Aptana Studio 3''+Giả sử chúng ta chưa có gì bây giờ muốn merge các pull request từ các lập trình viên. Hãy tạo một thư mục nào đó và click chuột phảvào thư mục đó chọn Git Bash. Tiếp theo đánh lệnh: 
 +  
 +<code>$ git init 
 +$ git clone https://github.com/nukeviet/nukeviet.git -b develop .</code> 
 +  
 +Hai lệnh trên để thiếlập một kho mới và tải kho nukeviet về thư mục vừa tạo. Khi clone xong mặc định sẽ chọn nhánh develop. (chú ý có dấu chấm ở cuối trong câu lệnh git clone, nếu không nó sẽ tạo vào trong 1 thư mục nữa ) 
 +  
 +Bây giờ ta tiếp tục nhập lệnh sau: 
 +  
 +<code>$ git remote add vuthao https://github.com/vuthao/nukeviet.git 
 +$ git fetch vuthao 
 +$ git merge vuthao/develop</code> 
 +  
 +lệnh đó sẽ thực hiện việc tạo một nhánh ảo từ thành viên vuthao trên github sau đó lấy toàn bộ pull request của thành viên đó, nhập nhánh develop của vuthao vào nhánh đang làm việc của kho code hiện tại (tức nhánh develop của nukeviet). 
 +  
 +Nếu quá trình merge tự động diễn ra thành công ta chỉ cần thực hiện lệnh  
 +  
 +<code>$ git push origin develop</code> 
 +  
 +Để hoàn tất việc merge pull request 
 +  
 +Nếu merge bị conflic thì ta phải xử lý các file conflic trước, sau đó đưa vào index, commit rồi mới push lên kho code. Thứ tự thực hiện như sau. 
 +  
 +Để xem thử conflic chỗ nào ta đánh 
 +  
 +<code>$ git diff</code> 
 +  
 +Khi đó các file bị conflic sẽ hiển thị đoạn code lỗi. Ta chỉ cần mở các file đó lên, chỉnh sửa đoạn code đó. Sau khi chỉnh sửa xong ta add file đó vào index bằng cách dùng lệnh 
 +  
 +<code>$ git add [file]</code> 
 +  
 +trong đó  [file] là đường dẫn đến file ví dụ 
 +  
 +<code>$ git add modules/news/admin/content.php</code> 
 +  
 +Để xem trạng thái các file, thư mục ... dùng lệnh 
 +  
 +<code>$ git status</code> 
 +  
 +Để hiển thị status gọn hơn ta dùng option -s 
 +  
 +<code>$ git status -s</code> 
 +  
 +Sau khi đã hoàn tất xử lý conflic ... ta commit các chỉnh sửa vừa rồi: 
 +  
 +<code>$ git commit -m "Message"</code> 
 +  
 +Trong đó message là nội dung commit. 
 +Cuối cùng là push lên kho code. 
 +  
 +<code>$ git push origin develop</code>
  
-Khi chạy Aptana lần đầu tiên chương trình sẽ hỏi thư mục lưu trữ Workspace, Bạn nên di chuyển về thư mục ''D:\Aptana Studio 3\Workspace''+==== Một số lệnh git khác ====
  
-3) Sau khi cài đặxong bn sửa file ''D:\Aptana Studio 3\Workspace\.metadata\.plugins\com.aptana.portablegit.win32\etc\gitconfig'' +Để tạm thời bỏ qua những thay đổi trong một tập tin nhất định, không muốtập tin đó hiểthị trong các file thay đổi sử dụng lệnh:
-Thêm đoạn sau vào cuốfile +
-<code> +
-[user] +
- name = Tên của bn +
- email  = email của bạn +
-</code>+
  
-4) Thực hiện việc thêm 1 Project theo video hướng dẫn.+<code>git update-index --assume-unchanged path_file</code> 
 +Trong NukeViet Không đưa các file sau lên kho code khi có thay đổi 
 +.htaccess 
 +data/config_global.php 
 +data/ip_files/*.php
  
-==== Hướng dẫn cài đvà sử dụng Git Bash trên window ====+Sau đó, khi muốn tập tin đó hiển thị trong các file thay đổi:
  
-=== Cài đặt Git trên window ===+<code>git update-index --no-assume-unchanged path_file</code>
  
-//Chú ý: các hướng dẫn này dành cho phiên bản Git-1.8.0, các phiên bản khác có thể có một số khác biệt.// 
  
-Download git tạđịa chỉ http://git-scm.com/download/win . Sau khi download thành công ta sẽ được file **Git-1.8.0-preview20121022.exe** (tên file có thể khác tùy theo phiên bản).+Thay đổcommit message cuối 
 +<code>git commit ---amend -m "My new commit message"</code>
  
-Để tiến hành cài đặt, nhấp đôi file Git-1.8.0-preview20121022.exe, tại giao din thứ nhất của chương trình nhấp "Next", tại giao diện thứ hai nhấp "Next"; tiếp theo, chọn thư mục sẽ cài đặt phần mềm vào hoặc để mặđịnh và nhấp "Next" ... tại các giao diện tiếtheo nếu không có tùy chọn khác hãy nhấp "Next" cho đến khi cài đặhoàn tất. +Reset project về ID trước đó 
 +<code>git reset --hard idcommit</code> 
 +Sau đó dùng lệnh sau để cp nhlên kho git 
 +<code>fix commit: git push -f</code>
  
-Sau khi cài đặt thành công, trên màn hình nền sẽ có thêm biểu tượng Git Bash, nếu không có, có thể tìm nó trong danh mục chương trình, công cụ tìm kiếm.+fix merge conflicts in Git
 +<code>git mergetool</code>
  
-=== Làm việc vớGit Bash ===+Lit kê tất cả các file thay đổtừ id 3bf2d29 đến id b2d0398 
 +<code>git diff-tree -r --name-only 3bf2d29 b2d0398</code>
  
-Trước khi làm vic với Git cần cu hình trướmột số thông số ví dụ như tên, email. Đầu tiên nhấp đôi biểu tượng Git Bash để khởi chạy Git Bash, giao diệban đầu có dạng +Lit kê tcả các file đã xóa từ id 3bf2d29 đếid b2d0398 
 +<code>git diff-tree -r --name-only --diff-filter=D 3bf2d29 b2d0398</code>
  
-{{ :programming:vcs:giao-dien-git-bash.jpg?nolink |}}+Zip lại các file thay đổi từ id 3bf2d29 đến id b2d0398 (không có file đã xóa) 
 +<code>git archive -o update1.zip HEAD $(git diff-tree -r --name-only --diff-filter=ACMRT 3bf2d29 b2d0398)</code>
  
-**Cấu hình thông của bạn:**+Ghi chú: Các option của diff-filter 
 +--diff-filter=[ACDMRTUXB*]
  
-Hai thông tin bắt buộc mà bạn luôn luôn phải khai báo đó là tên và địa chỉ email. Mỗi commit của bạn đều sẽ sử dụng thông tin này. Để cấu hình, nhập:+    A Added 
 +    C Copied 
 +    D Deleted 
 +    Modified 
 +    R Renamed 
 +    T have their type (mode) changed 
 +    U Unmerged 
 +    X Unknown 
 +    B have had their pairing Broken 
 +    * All-or-none
  
-<code>$ git config --global user.name "Phan Tan Dung" +Xóa 1 nhánh trên kho code 
-git config --global user.email phantandung92@gmail.com</code>+<code>git push origin --delete BRANCH_NAME</code>
  
-Tùy chon --global sửdụng để xác định giá trị toàn cục, có nghĩa mọi dự án đều sử dụng thông tin đó, đối với một dự án cụ thể, nếmuốn thay đổi thông tin đó ta chỉ cần nhập lại mà không sử dụng --global. Ví dụ: +Đưcác tag được đánh dlên kho code 
- +<code>git push --tags</code>
-<code>$ git config user.name "Phan Tan Dung" +
-$ git config user.email example@gmail.com</code> +
- +
-**Xem lại danh sách các cấu hình** +
- +
-Để xem lại tất cả các cấu hình hiện tại, nhập: +
- +
-<code>git config --list</code>+
 ===== Nguồn tham khảo ===== ===== Nguồn tham khảo =====
 Về Git: Về Git:
   * Git SRM - Ebook tiếng Anh về Git: http://git-scm.com/book/en/Getting-Started-About-Version-Control   * Git SRM - Ebook tiếng Anh về Git: http://git-scm.com/book/en/Getting-Started-About-Version-Control
-  * Tài liệu tham khảo về Git (Tài lieuej chính thức của nhà cung cấp phần mềm): http://git-scm.com/docs+  * Tài liệu tham khảo về Git (Tài liệu chính thức của nhà cung cấp phần mềm): http://git-scm.com/docs
   * Git Magic (Git - Công cụ quản lý mã nguồn vạn năng, ebook tiếng Việt về Git): http://www-cs-students.stanford.edu/~blynn/gitmagic/intl/vi/   * Git Magic (Git - Công cụ quản lý mã nguồn vạn năng, ebook tiếng Việt về Git): http://www-cs-students.stanford.edu/~blynn/gitmagic/intl/vi/
   * A successful Git branching model - Mô hình phân nhánh Git: http://nvie.com/posts/a-successful-git-branching-model/   * A successful Git branching model - Mô hình phân nhánh Git: http://nvie.com/posts/a-successful-git-branching-model/
  
 Về Github: Về Github:
-  * [[http://gitref.dragula.org|Tham khảo về Git]] - Tài liệu tham khảo trực tuyến cho Git được viết bởi đội phát triển GitHub. Bản gốc tiếng Anh có tại địa chỉ gitref.org. Bản tiếng Việt có ở địa chỉ gitref.dragula.org+  * [[http://gitref.dragula.viettug.org|Tham khảo về Git - Bản dịch tiếng Việt]] - Tài liệu tham khảo trực tuyến cho Git được viết bởi đội phát triển GitHub. Bản gốc tiếng Anh có tại địa chỉ gitref.org.
   * GitHub - Mạng xã hội dành cho lập trình viên (Bài viết trên Blog cộng đồng về Công nghệ thông tin): http://cntt.tv/nodes/show/501   * GitHub - Mạng xã hội dành cho lập trình viên (Bài viết trên Blog cộng đồng về Công nghệ thông tin): http://cntt.tv/nodes/show/501
   * Loạt bài viết về Git trên dotnetviet:   * Loạt bài viết về Git trên dotnetviet:
Dòng 103: Dòng 158:
     * Phần 2: [[http://dotnetviet.org/showthread.php/591-Phan-II-Git-Huong-dan-su-dung-GitHub|Hướng dẫn sử dụng GitHub]]     * Phần 2: [[http://dotnetviet.org/showthread.php/591-Phan-II-Git-Huong-dan-su-dung-GitHub|Hướng dẫn sử dụng GitHub]]
     * Phần 3: [[http://dotnetviet.org/showthread.php/592-Phan-III-Git-Tai-sao-nen-su-dung-Git|Tại sao nên sử dụng Git]]     * Phần 3: [[http://dotnetviet.org/showthread.php/592-Phan-III-Git-Tai-sao-nen-su-dung-Git|Tại sao nên sử dụng Git]]
- 
programming/vcs/git.txt · Sửa đổi lần cuối: 2017/11/01 14:48 bởi vuthao