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
Phiên bản cuốiPhiên bản sau của cả hai bên
programming:vcs:git [2013/03/24 00:16] – [Hướng dẫn cài đặt và sử dụng Git Bash trên window] vuthaoprogramming:vcs:git [2014/04/08 11:40] – external edit 127.0.0.1
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 trên Ubuntu ====
 +=== Hướng dẫn cài đặt ===
 +**Bước 1.** Bạn có thể download tại đây : [[http://www.aptana.com/products/studio3/download]]. Chọn “Standalone Version” rồi click Download
  
-==== Hướng dẫn cài đặt và sử dụng Aptana tương tác với Github ====+**Bước 2.** Phải cài đặt các gói cần thiết trước, mở Terminal bằng cách nhấn tổ hợp 3 phím : Ctrl + Alt + T, nhập : 
 +<code>  
 +       sudo apt-get install openjdk-7-jre libwebkitgtk-1.0-0 git-core 
 +</code> 
 +**Bước 3.** Chuyển đến thư mục chứa file cài đặt rồi tiến hành cài đặt Aptana vào thư mục /opt, ví dụ tên file cài đặt mặc định khi download về là 'Aptana_Studio_3_Setup_Linux_x86_3.4.1.zip' và thư mục chứa file là Desktop, nhập : 
 +<code> 
 +      cd ~/Desktop 
 +      sudo unzip Aptana_Studio_3_Setup_Linux_x86_3.4.1.zip -d /opt 
 +</code> 
 +**Bước 4.** Thêm vào menu shortcut, nhập : 
 +<code> 
 +     wget http://www.samclarke.com/wp-content/uploads/2012/04/AptanaStudio3.desktop  
 +     sudo mv AptanaStudio3.desktop /usr/share/applications/AptanaStudio3.desktop 
 +</code> 
 + 
 +=== Hướng dẫn sử dụng === 
 +**Bước 1.** Khởi động : Để khởi động Aptana Studio 3 có 2 cách : 
 +* Cách 1 : Nhấn nút super (nút windows) để mở của sổ tìm kiếm. Gõ từ khóa 'aptana studio 3' rồi chọn shortcut của aptana studio để khởi động 
 +* Cách 2 : Mở Terminal (CTRL+ALT+T) , nhập : 
 +<code> 
 +     cd /opt/Aptana_Studio_3  
 +     sudo bash AptanaStudio3.sh 
 +</code> 
 +**Bước 2.** Xuất hiện 1 hộp thoại để chọn thư mục làm việc, thư mục mặc định sẽ là '/root/Documents/Aptana Studio 3 Workspace' , xong nhấp OK sẽ xuất hiện giao diện chương trình Aptana Studio 3 : 
 +{{ :programming:vcs:hinh14.png |Chọn thư mục để làm việc}} 
 + 
 +Tick vào ô 'Use this as the default and do not ask again' thì những lần khởi động sau, hộp thoại này sẽ không xuất hiện vì bạn đã chọn đường dẫn của phiên làm việc lần trước làm mặc định. Tránh những lần khởi động lần sau, chương trình sẽ hiện hộp thoại này để hỏi thư mục làm việc gây phiền toái, mất thời gian. 
 + 
 +**Bước 3.** Thoát khỏi chương trình :  
 +  * Bạn nhấn tổ hợp 2 phím : Alt + F4  
 +  * Click vào dấu x góc trái trên cùng của chương trình  
 +  * Trên thanh menu của chương trình chọn File -> Exit 
 +Tham khảo thêm tại : [[http://forum.nukeviet.vn/viewtopic.php?f=138&t=26745&p=135116|Lập trình NukeViet nhanh hơn với Aptana Studio 3]] 
 +=== Hướng dẫn cài đặt eGit vào Aptana === 
 +**Bước 1.** Khởi động Aptana Studio 3. Trên thanh menu của chương trình nhấp chọn : Help → Install New Software...  
 + 
 +**Bước 2.** Xuất hiện hộp thoại Install, Click vào nút 'Add' và nhập 2 thông tin sau : 
 +  * Trong ô 'Name'      : eGit 
 +  * Trong ô 'Location'  : http://download.eclipse.org/egit/updates-2.3 
 +{{ :programming:vcs:hinh18.png | Điền đầy đủ thông tin }} 
 + 
 +**Bước 3.** Sau khi nhấn OK ở 'Bước 2' ,bạn sẽ trở lại hộp thoại 'Install',đợi chút xíu rồi tick vào ô 'Eclipse Egit' và nhấn Next 
 +{{ :programming:vcs:hinh19.jpg |}} 
 + 
 +**Bước 4.** Xuất hiện 1 hộp thoại và chọn Next  
 +{{ :programming:vcs:hinh20.png |}} 
 + 
 +**Bước 5.** Tiếp tục xuất hiện 1 hộp thoại, tick vào ô 'I accept the terms of the license agreements' và nhấn Finish 
 +{{ :programming:vcs:hinh21.png |}} 
 + 
 +**Bước 6.** Đợi chương trình tải dữ liệu về và hoàn tất cài đặt Egit vào Aptana Studio 3  
 +{{ :programming:vcs:hinh22.png |}} 
 +=== Thực hiện 1 project sử dụng Git trong Aptana Studio 3 === 
 +**Bước 1.** Tạo kho mã nguồn cho dự án trên github.com .Ví dụ bạn làm việc với kho mã nguồn có địa chỉ [[https://github.com/quanglapcongtu/MHST2-13-25]] với branch (nhánh làm việc) là master, trong kho mã nguồn đã có sẵn 1 file README.md 
 + 
 +**Bước 2.** Khởi động Aptana Studio 3, xuất hiện giao diện chương trình, nhấn vào thẻ Terminal và bạn sẽ tương tác với Github thông qua giao diện dòng lệnh này. 
 + 
 + 
 +**Bước 3.** Tạo SSH Key 
 +- Nếu bạn đã quyết định không sử dụng phương thức HTTPS (đề nghị), chúng ta có thể sử dụng các khóa SSH để thiết lập một kết nối an toàn giữa máy tính và GitHub của bạn. 
 + 
 +- SSH Key là một mã chứng nhận để bạn có quyền thao tác trên repository (kho) của GitHub, SSH Key sẽ mang tất cả thông tin về account của bạn. SSH Key này được tạo ra trên local máy của bạn và được chính bạn add vào GitHub. Khi bạn push source code của mình lên repository server, GitHub sẽ kiểm tra SSH key ở local của bạn và SSH key trên server của nó (mà bạn đã add trước đó) có giống nhau không. Nếu giống nhau nó xác nhận bạn có quyền thao tác trên repository server. Một account GitHub có thể có nhiều SSH Key trên server. 
 + 
 +- Các bước dưới đây sẽ hướng dẫn bạn qua việc tạo một khóa SSH và sau đó thêm các khóa công khai vào tài khoản của bạn GitHub : **4 step** 
 +**+ Step 1:** Kiểm tra xem SSH key đã tồn tại trên máy tính của mình chưa, nhập : 
 +<code> 
 +     cd ~/.ssh (Enter) 
 +     ls 
 +</code>  
 +{{ :programming:vcs:hinh24.png | Kiểm tra SSH key đã tồn tại chưa}} 
 +    
 +Nếu danh sách tệp tin trống thì SSH Key chưa tồn tại thì chuyển sang Bước 2, nếu trong danh sách có file id_rsa.pub hoặc id_dsa.pub thì SSH Key đã tồn tại trên máy tính, ta chuyển sang Bước 3 
 + 
 +**+ Step 2 :** Tạo 1 SSH Key mới, trong cửa sổ Terminal nhập : 
 +<code> 
 +     ssh-keygen -t rsa -C " your_email@example.com"   
 +</code> 
 +{{ :programming:vcs:hinh25.png |Tạo SSH key mới}} 
 +'your_email@example.com' là email trong tài khoản của bạn trên github.com, ở đây email là 'lapnqhpu@gmail.com'  
 +Nhập mật khẩu và nhập lại mật khẩu lần 2 sẽ tạo được SSH Key 
 +{{ :programming:vcs:hinh26.png |Tạo SSH key thành công}} 
 + 
 +**+ Step 3 :** Thêm SSH Key vào tài khoản github.com: 
 +- Copy SSH Key vào clipboard, nhập: 
 +<code> 
 +     sudo apt-get install xclip  
 +     xclip -sel clip < ~/.ssh/id_rsa.pub  
 +</code> 
 +- Đăng nhập tài khoản github.com và đi đến phần Account Settings. Trong menu bên trái chọn SSH Keys → Add SSH key. Điền đầy đủ thông tin vào ô 'Title' và 'Key' và nhấn nút Add  
 +{{ :programming:vcs:hinh27.png |Settings}} 
 + 
 +{{ :programming:vcs:hinh28.png |Account Settings}} 
 + 
 +{{ :programming:vcs:hinh29.png |SSH key}} 
 +{{ :programming:vcs:hinh30.png |Add SSH key}} 
 + 
 +- Xuất hiện 1 hộp thoại yêu cầu xác nhận mật khẩu tài khoản github.com của bạn, nhập và nhấn Confirm password. Như vậy SSH Key đã được thêm vào tài khoản github.com của bạn  
 +{{ :programming:vcs:hinh31.png |Xác nhận mật khẩu Github}} 
 +{{ :programming:vcs:hinh32.png |SSH key đã được thêm vào tài khoản Github}} 
 + 
 +**+ Step 4 :** Kiểm tra lại quyền thao tác trên tài khoản GitHub trong Aptana Studio 3, trong cửa sổ Terminal nhập : 
 +<code> 
 +     ssh -T git@github.com (Enter) 
 +</code> 
 +Xuất hiện 1 câu hỏi kết nối, nhập :  
 +<code> 
 +     yes  
 +</code> 
 +Nếu có thông báo : 'Hi quanglapcongtu! You've successfully authenticated, but GitHub does not provide shell access' thì  bạn đã có quyền thao tác trên repository của mình trên Github.com  
 +{{ :programming:vcs:hinh33.png |Kiểm tra quyền thao tác thành công}} 
 + 
 +**Bước 4.** Di chuyển đến thư mục /opt/lampp/htdocs của Xampp để lập trình, nhập : 
 +<code> 
 +     cd /opt/lampp/htdocs  
 +</code>     
 +**Bước 5.** Thay đổi quyền thực thi cho thư mục htdocs, nhập : 
 +<code> 
 +     sudo chmod -R 777 /opt/lampp/htdocs  
 +</code> 
 +**Bước 6.** Nhân bản (clone) : Tạo bảo sao của kho Github về máy tính ta sẽ được thư mục MHST2013-25 nằm trong thư mục /opt/htdocs , nhập : 
 +<code> 
 +     git clone git@github.com:quanglapcongtu/MHST2013-25.git  
 +</code> 
 +**Bước 7.** Thêm kho xa 'khoxa_nukeviet' tại địa chỉ : [[git@github.com:nukeviet/nukeviet.git]] , nhập : 
 +<code> 
 +     git remote add nukeviet git@github.com:nukeviet/nukeviet.git  
 +     git remote  
 +</code>      
 +**Bước 8.** Kéo dữ liệu từ kho xa về dự án, nhập : 
 +<code> 
 +     git pull khoxa_nukeviet  
 +</code> 
 +**Bước 9.** Tiến hành trộn (merge) dữ liệu từ kho xa vào dự án, có thể commit (xác nhận) sự thay đổi trước khi trộn, nhập : 
 +<code> 
 +     git commit -m "Pull project nukeviet source code" 
 +     git add README.md 
 +     git merge khoxa_nukeviet/develop 
 +     ls 
 +     git commit -m "Update project nukeviet source code" 
 +</code> 
 +**Bước 10.** Thêm kho xa 'MHST2013-25' tại địa chỉ : [[git@github.com:quanglapcongtu/MHST2013-25]], nhập : 
 +<code> 
 +     git remote add MHST2013-25 git@github.com:quanglapcongtu/MHST2013-25 
 +</code>   
 +**Bước 11.** Sau khi thực hiện một số thay đổi cho dự án, xác nhận thay đổi bằng lệnh git commit, bạn có thể chia sẻ thay đổi này với mọi người bằng cách đẩy cách kết quả lênh nhánh thuộc kho xa (master, develop, ...) trên Github, nhập : 
 +<code>       
 +     git push MHST2013-25 master 
 +</code>       
 + 
 +Tham khảo chi tiết sử dụng Git tại :    
 +  * [[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]] 
 +   
 +==== Hướng dẫn cài đặt và sử dụng Aptana tương tác với Github trên Windows ====
 1) Download và cài đặt Aptana tại địa chỉ http://www.aptana.com/products/studio3/download 1) Download và cài đặt Aptana tại địa chỉ http://www.aptana.com/products/studio3/download
  
Dòng 50: Dòng 205:
  name = Tên của bạn  name = Tên của bạn
  email  = email của bạn  email  = email của bạn
 +</code>
 +
 +Chỉnh lại giá trị autocrlf nếu muốn git lấy về định dạng Unix
 +<code>
 +autocrlf = input
 </code> </code>
  
Dòng 92: Dòng 252:
 == Đố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 mastertuy nhiên ta cầlàm việc trên nhánh develop +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ữ)
-Tiếp theo để checkout nhánh develop về ta phải trỏ vào thư mục chính củkho code. Dùng lệnh sau: +
-  +
-<code>$ cd nukeviet</code> +
-  +
-Sau đó: +
-  +
-<code>$ git checkout develop</code>+
    
 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 306:
 <code>$ git push origin develop</code> <code>$ git push origin develop</code>
  
-== Một số lệnh git khác ==+==== 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 Thay đổi commit message cuối
 <code>git commit -a --amend -m "My new commit message"</code> <code>git commit -a --amend -m "My new commit message"</code>
Dòng 165: Dòng 332:
 <code>git mergetool</code> <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 173: Dòng 368:
  
 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 179: Dòng 374:
     * 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