Site Tools


programming:vcs:git

Khác biệt

Đây là những khác biệt giữa phiên bạn được chọn và phiên bản hiện tại của trang này.

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

Both sides previous revision Previous revision
Next revision
Previous revision
programming:vcs:git [2013/01/20 08:46]
laser
programming:vcs:git [2017/11/01 07:48]
vuthao
Dòng 33: Dòng 33:
 ==== Tương tác với Git trên Eclipse ==== ==== Tương tác với Git trên Eclipse ====
 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ới Github ==== 
-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ưới (Video hướng dẫn được thực hiện trên  Aptana Studio 3.2.2 Microsoft Windows Standalone Version) 
-{{youtube>​JLyzjdS3Svc?​medium}} 
- 
-Trong qua trình cài đặt bạn nên thay đổi thư mục cài đặt Aptana về thư mục ''​D:​\Aptana Studio 3''​ 
- 
-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''​ 
- 
-3) Sau khi cài đặt xong bạn sửa file ''​D:​\Aptana Studio 3\Workspace\.metadata\.plugins\com.aptana.portablegit.win32\etc\gitconfig''​ 
-Thêm đoạn sau vào cuối file 
-<​code>​ 
-[user] 
- name = Tên của bạn 
- email ​ = email của bạn 
-</​code>​ 
- 
-4) Thực hiện việc thêm 1 Project theo video hướng dẫn. 
- 
-==== Hướng dẫn cài đặt và sử dụng Git Bash trên window ==== 
- 
-=== Cài đặt Git trên window === 
- 
-//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ại đị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). 
- 
-Để tiến hành cài đặt, nhấp đôi file Git-1.8.0-preview20121022.exe,​ tại giao diện 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ặc định và nhấp "​Next"​ ... tại các giao diện tiếp theo nếu không có tùy chọn khác hãy nhấp "​Next"​ cho đến khi cài đặt hoàn tất. ​ 
- 
-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. 
- 
-=== Làm việc với Git Bash === 
- 
-Trước khi làm việc với Git cần cấu hình trước 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ện ban đầu có dạng ​ 
- 
-{{ :​programming:​vcs:​giao-dien-git-bash.jpg?​nolink |}} 
- 
-**Cấu hình thông của bạn:** 
- 
-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: 
- 
-<​code>​$ git config --global user.name "Phan Tan Dung" 
-$ git config --global user.email phantandung92@gmail.com</​code>​ 
- 
-Tùy chon --global sửa 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ếu muốn thay đổi thông tin đó ta chỉ cần nhập lại mà không sử dụng --global. Ví dụ: 
- 
-<​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>​ 
  
 == Đối với người quản lý == == Đối với người quản lý ==
  
-**Hướng dẫn merge và xử lý lỗi conflic Pull Request trên Git**+==== Hướng dẫn merge và xử lý lỗi conflic Pull Request trên Git ====
  
 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ải vào thư mục đó chọn Git Bash. Tiếp theo đánh lệnh: 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ải vào thư mục đó chọn Git Bash. Tiếp theo đánh lệnh:
    
 <​code>​$ git init <​code>​$ git init
-$ git clone https://​github.com/​nukeviet/​nukeviet.git</​code>​ +$ git clone https://​github.com/​nukeviet/​nukeviet.git ​-b develop .</​code>​
-  +
-Hai lệnh trên để thiết 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 master, tuy nhiên ta cần làm việc trên nhánh ​develop +
-Tiếp theo để checkout nhánh develop về ta phải trỏ vào thư mục chính của kho codeDùng lệnh sau: +
-  +
-<​code>​$ cd nukeviet</​code>​ +
-  +
-Sau đó:+
    
-<​code>​$ git checkout ​develop</​code>​+Hai lệnh trên để thiết 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: Bây giờ ta tiếp tục nhập lệnh sau:
Dòng 153: Dòng 90:
 <​code>​$ git push origin develop</​code>​ <​code>​$ git push origin develop</​code>​
  
 +==== Một số lệnh git khác ====
 +
 +Để tạm thời bỏ qua những thay đổi trong một tập tin nhất định, không muốn tập tin đó hiển thị trong các file thay đổi sử dụng lệnh:
 +
 +<​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
 +
 +Sau đó, khi muốn tập tin đó hiển thị trong các file thay đổi:
 +
 +<​code>​git update-index --no-assume-unchanged path_file</​code>​
 +
 +
 +Thay đổi commit message cuối
 +<​code>​git commit -a --amend -m "My new commit message"</​code>​
 +
 +Reset project về ID trước đó
 +<​code>​git reset --hard idcommit</​code>​
 +Sau đó dùng lệnh sau để cập nhật lên kho git
 +<​code>​fix commit: git push -f</​code>​
 +
 +fix merge conflicts in Git?
 +<​code>​git mergetool</​code>​
 +
 +Liệt kê tất cả các file thay đổi từ id 3bf2d29 đến id b2d0398
 +<​code>​git diff-tree -r --name-only 3bf2d29 b2d0398</​code>​
 +
 +Liệt kê tất cả các file đã xóa từ id 3bf2d29 đến id b2d0398
 +<​code>​git diff-tree -r --name-only --diff-filter=D 3bf2d29 b2d0398</​code>​
 +
 +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>​
 +
 +Ghi chú: Các option của diff-filter
 +--diff-filter=[ACDMRTUXB*]
 +
 +    A Added
 +    C Copied
 +    D Deleted
 +    M Modified
 +    R Renamed
 +    T have their type (mode) changed
 +    U Unmerged
 +    X Unknown
 +    B have had their pairing Broken
 +    * All-or-none
 +
 +Xóa 1 nhánh trên kho code
 +<​code>​git push origin --delete BRANCH_NAME</​code>​
 +
 +Đưa các tag được đánh dầu lên kho code
 +<​code>​git push --tags</​code>​
 ===== Nguồn tham khảo ===== ===== Nguồn tham khảo =====
 Về Git: Về Git:
Dòng 161: Dòng 152:
  
 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 167: 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 · Thời điểm thay đổi: 2017/11/01 07:48 do vuthao