2012-05-18 39 views
5

Tôi đọc tài liệu và googled một chút tốt, nhưng không có bước thực sự đơn giản để có thể cam kết thay đổi cục bộ của bạn để github. Tôi đã biên soạn các bước sau và tôi chỉ muốn đảm bảo rằng tôi đang làm đúng. Nếu tôi thay đổi một tập tin foo.java địa phương:Trình tự đơn giản của lệnh GIT

  1. tình trạng git -s                   // sẽ hiển thị với tôi rằng foo.java đã thay đổi

  2. git add foo.java         // sẽ thêm nó vào repo địa phương của tôi

  3. git commit -m "thay đổi của tôi"           // cam kết repo địa phương

  4. git tag "v1.1"             // tạo một thẻ

  5. git push --tags               // cuối cùng, di chuyển cam kết cục bộ đến repo từ xa bằng thẻ mới. điều này sẽ nhắc mật khẩu của bạn. nếu không có thẻ được thiết lập như trong bước 4, sau đó chỉ cần

git push

là đủ. đúng?

Tôi chỉ đang cố gắng đảm bảo rằng các bước cơ bản này cho các trường hợp sử dụng nhiều nhất là những gì cần thiết để sử dụng github. Tôi là người mới to github, và những bước này đang làm việc cho tôi, nhưng muốn chắc chắn rằng tôi không mắc phải sai lầm cơ bản nào. Vui lòng nhận xét nếu có bất kỳ bước nào bị thiếu. Một lần nữa, tôi lo ngại về việc sử dụng ngày thường xuyên nhất (như, không thực sự quan tâm đến các chi nhánh, vv mà tôi sẽ học trên cơ sở nhu cầu). Cảm ơn bạn trước.

Trả lời

7

Các bước của bạn ổn. Tuy nhiên, để nhận được một chút, về các nhận xét:

Ý kiến ​​về bước (2) và (3) không phải là cách tốt nhất để suy nghĩ về những gì đang diễn ra, tôi không tin.

2.git add foo.java  //will add it to my local repo 
3.git commit -m "my changes"  //commit to the local repo 

Bước mà "thêm" tập tin của bạn vào kho địa phươnggit-commit. Đó là lý do tại sao nó được gọi là commit; bạn cam kết thay đổi đối với kho lưu trữ. git-add foo thêm foo vào khu vực dàn dựng , không cho chính bản ghi nhớ.

kho git của bạn có ba "khu vực", working, stagingrepository, được miêu tả ở đây (hình ảnh lấy từ Pro Git book):

Git areas

Bạn thực hiện thay đổi và làm việc tại "thư mục làm việc một cách sáng tạo được đặt tên ".

Khi bạn đã thực hiện một số thay đổi, bạn muốn chuẩn bị thực hiện cam kết. Đây là nơi "khu vực dàn dựng" đi vào hoạt động. Bạn "giai đoạn" những thay đổi mà bạn muốn cam kết, và khi bạn hài lòng với những gì cam kết sẽ như thế nào, bạn cam kết "khu vực dàn dựng" cho "kho lưu trữ". [Lưu ý: trong các trang man, staging area này chủ yếu được gọi là index].

Điều này cho phép bạn linh hoạt nhiều. Bạn có thể chỉnh sửa tất cả các thay đổi kể từ lần commit cuối cùng của bạn, hoặc bạn có thể tạo các tập tin riêng lẻ, hoặc bạn có thể điều chỉnh các phần của tập tin. Bạn có thể thêm và xóa các tệp từ khu vực dàn dựng mà không làm mất các thay đổi hoặc làm rối tung lịch sử kho lưu trữ. Đó là những gì các lệnh git addgit rm thực hiện; họ thêm từ số working directory vào số staging area, nhưng họ không thêm trực tiếp vào repository. (Hy vọng hình ảnh sẽ giúp phân biệt rõ ràng).

Các bước của bạn ổn. Nếu bạn muốn hiểu thêm về phân nhánh, cam kết, thao tác các cam kết và chi nhánh và không biết gì, tôi khuyên bạn nên đọc Pro Git book - nó có một loạt các hình ảnh đẹp và ngôn ngữ đủ đơn giản để tôi có thể hiểu nó;)

0

Sau (3), bạn sẽ có thể gọi git push origin master mà sẽ đẩy master chi nhánh hiện tại của bạn để GitHub

+0

right, không có thẻ, nếu tôi chỉ sử dụng "git push", nó đã cho tôi một cảnh báo. Vì vậy, đúng cách để làm đẩy là: "git push origin master". Cảm ơn bạn. – RGi

+1

Để có thể thực hiện lệnh 'git push', bạn có thể cần phải thực hiện' git push -u origin master' một lần. Điều đó sẽ làm cho nhánh master địa phương của bạn "theo dõi" nhánh chủ từ xa. Sau đó, bạn chỉ có thể làm 'git push' hoặc' git pull' và nó sẽ biết phải làm gì. (FYI, theo dõi này được thiết lập cho bạn tự động nếu bạn nhận được mã thông qua một 'git clone'.) – dontangg

0

Tôi nghĩ rằng đó là đủ để sử dụng rất cơ bản. Tôi chỉ muốn thêm hai nhận xét:

  • Nó luôn luôn là một điều tốt để kiểm tra những gì bạn đang thêm vào vùng dàn (đó là những gì bạn đang làm với git add): hoặc sử dụng git diff, hoặc làm một git add --patch, sẽ bắt đầu một quy trình tương tác để cho phép bạn quyết định có chấp nhận hoặc từ chối từng hunk mã bạn đã sửa đổi hay không. Nếu bạn làm hỏng bất cứ điều gì trong giai đoạn này, bạn luôn có thể git reset HEAD để nhận các thay đổi về bản sao làm việc (nghĩa là bạn chỉ cần hoàn tác việc thêm)
  • Bạn có thể thực hiện các bước 2 và 3 cùng nhau bằng cách phát hành git commit -a -m 'your message'.
Các vấn đề liên quan