Github参加eoeに基づくオープンソースプロジェクトガイド

16623 ワード

Githubは非常に素晴らしいプロジェクト管理サイトで、Gitの原理に基づいて、私たちは非常に便利な多くの人が協力してオープンソースプロジェクトに参加することができます.先日eoeはandroidクライアントをオープンソースしました.多くの学生が積極的に参加したり、参加したりしたいと思っていますが、GitやGithubに詳しいかどうか、多くの困惑と疑問があります.私はここでGithubに基づいてeoeオープンソースプロジェクトに参加する方法のガイドラインを書きます.
 
注:Gitの理念と基本的な操作と推奨の使い方は詳しくは言いませんが、git-flowのような規範や他の文章を参考にして、今回はGithubに基づいて多くの人が協力する方法だけを話します.
 
協力の約束
 
  • 1.誰もがfork 1部の自分のrepoをすることができて、すべての修正はすべて自分の私有のrepoの上で行います;
  • 2.修正が完了し、テストに合格した後、主repoにpull request要求を送ることで合併する.
  • 3. 主repo(eoecn/android-app)の管理チームがpull requestリクエストを受け取った後、reviewコードを統合します.
  • 4.個人のrepoは直ちに主repoと同期しなければならない.

  • 次に、各ステップがどのように動作するかを詳細に説明します.
     
    ステップ1:forkは自分のrepoを開いてeoecn/android-appのGithub上のホームページ(https://github.com/eoecn/android-app/)を開いて、以下のようにします.
     
    右上隅で「fork」をクリックすると、forkは自分のrepoに似ています.urlはhttps://github.com/IceskYsl/android-appに似ています.今、私たちは自分のrepoを持っています.次の操作はすべて自分のrepoに基づいています(私のところはiceskysl/android-appです).
     
    ステップ2:clone自分のrepoの上で私たちはfork自分のrepoを持って、それからcloneを降りることができて、先に自分のrepoのホームページ(https://github.com/IceskYsl/android-app)に着いて、repoのgitアドレスを見つけて、このように[email protected]:IceskYsl/android-app.git、それからcloneは地元に着きます
     
    1
    2
    3
    4
    5
    6
    7
    ice@mac:/source/labs/git > git clone [email protected]:IceskYsl/android-app.git
    Cloning into 'android-app'...
    remote: Counting objects: 490, done.
    remote: Compressing objects: 100% (296/296), done.
    remote: Total 490 (delta 162), reused 490 (delta 162)
    Receiving objects: 100% (490/490), 2.22 MiB | 231 KiB/s, done.
    Resolving deltas: 100% (162/162), done.
    

    ステップ3:リモートブランチの表示と追加次にcdをプロジェクトに追加し、現在のgitリモートウェアハウスを見て、次のようにします.
     
    1
    2
    3
    4
    ice@mac:/source/labs/git > cd android-app/
    ice@mac:/source/labs/git/android-app > git remote -v
    origin     [email protected]:IceskYsl/android-app.git (fetch)
    origin     [email protected]:IceskYsl/android-app.git (push)
    

    現在のプロジェクトには「origin」というリモートウェアハウス(cloneの時に加入したもの)があり、メインウェアハウス(eoecn/android-app)とコード同期を保つために、メインウェアハウスのリモートウェアハウスを追加する必要があります.コマンドは次のとおりです.
     
    1
    2
    3
    4
    5
    6
    ice@mac:/source/labs/git/android-app > git remote add eoecn [email protected]:eoecn/android-app.git
    ice@mac:/source/labs/git/android-app > git remote  -v
    eoecn     [email protected]:eoecn/android-app.git (fetch)
    eoecn     [email protected]:eoecn/android-app.git (push)
    origin     [email protected]:IceskYsl/android-app.git (fetch)
    origin     [email protected]:IceskYsl/android-app.git (push)
    

    はい、ここまで倉庫の追加は完了しました.メイン倉庫のコードと一致するように、次にメイン倉庫の最新のコードを取得する必要があります.
     
    ステップ4:マスターウェアハウスの最新コードの取得
     
    1
    2
    3
    4
    5
    6
    7
    8
    9
    ice@mac:/source/labs/git/android-app > git fetch eoecn
    remote: Counting objects: 279, done.
    remote: Compressing objects: 100% (94/94), done.
    remote: Total 222 (delta 128), reused 181 (delta 89)
    Receiving objects: 100% (222/222), 261.66 KiB | 98 KiB/s, done.
    Resolving deltas: 100% (128/128), completed with 50 local objects.
    From github.com:eoecn/android-app
       bd0f14b..6b9533d  master     -> eoecn/master
    ice@mac:/source/labs/git/android-app > 
    

    ステップ5:自分のブランチにマージ
     
     1
     2
     3
     4
     5
     6
     7
     8
     9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    ice@mac:/source/labs/git/android-app > git merge eoecn/master
    Updating c7b152c..6b9533d
    Fast-forward
     README.md                                          |    1 +
     source/.classpath                                  |    4 +-
     source/AndroidManifest.xml                         |   17 +-
     source/libs/zxing-1.6.jar                          |  Bin 0 -> 245201 bytes
     source/project.properties                          |    2 +-
     source/res/layout/qr_code_scan.xml                 |   33 ++
     source/res/layout/umeng_fb_send_feedback.xml       |    6 +-
     source/res/layout/user_login_activity.xml          |   13 +-
     source/res/raw/beep.ogg                            |  Bin 0 -> 6401 bytes
     source/res/values-zh/strings.xml                   |  176 ++++++-----
     source/res/values/colors.xml                       |    7 +
     source/res/values/dimens.xml                       |  113 +++----
     source/res/values/ids.xml                          |   18 +-
     source/res/values/strings.xml                      |  176 ++++++-----
     source/res/values/styles.xml                       |    7 +-
     source/src/cn/eoe/app/biz/BlogsDao.java            |    3 -
     source/src/cn/eoe/app/biz/DetailDao.java           |    1 -
     source/src/cn/eoe/app/biz/NewsDao.java             |    4 -
     source/src/cn/eoe/app/biz/SearchDao.java           |    4 +-
     source/src/cn/eoe/app/biz/WikiDao.java             |    1 -
     source/src/cn/eoe/app/entity/BlogContentItem.java  |    2 +-
     source/src/cn/eoe/app/entity/NewsContentItem.java  |    2 +-
     .../cn/eoe/app/entity/base/BaseResponseData.java   |    2 +-
     .../cn/eoe/app/indicator/TitlePageIndicator.java   |    5 +-
     .../eoe/app/slidingmenu/SlidingActivityHelper.java |    2 +-
     source/src/cn/eoe/app/ui/DetailsActivity.java      |    3 -
     source/src/cn/eoe/app/ui/MainActivity.java         |   36 +--
     source/src/cn/eoe/app/ui/SplashActivity.java       |   17 +-
     source/src/cn/eoe/app/ui/UserCenterActivity.java   |    8 +-
     source/src/cn/eoe/app/ui/UserLoginActivity.java    |  249 ++++++++-------
     source/src/cn/eoe/app/ui/UserLoginUidActivity.java |    2 +
     source/src/cn/eoe/app/ui/base/BaseActivity.java    |    4 +-
     .../cn/eoe/app/ui/base/BaseFragmentActivity.java   |    1 -
     .../app/ui/base/BaseSlidingFragmentActivity.java   |    6 +-
     source/src/cn/eoe/app/utils/MD5.java               |    7 +-
     source/src/cn/eoe/app/utils/PopupWindowUtil.java   |    1 -
     source/src/cn/eoe/app/utils/Utility.java           |    1 -
     source/src/cn/eoe/app/view/BlogFragment.java       |    6 -
     source/src/cn/eoe/app/view/NewsFragment.java       |    6 -
     source/src/cn/eoe/app/view/UserIntroFragment.java  |    4 +-
     source/src/cn/eoe/app/view/WikiFragment.java       |    6 -
     source/src/cn/eoe/app/widget/XListView.java        |    2 +-
     source/src/cn/eoe/app/widget/XListViewFooter.java  |    2 +-
     source/src/cn/eoe/app/widget/XListViewHeader.java  |    2 +-
     source/src/com/google/zxing/CaptureActivity.java   |  216 +++++++++++++
     .../com/google/zxing/camera/AutoFocusCallback.java |   48 +++
     .../zxing/camera/CameraConfigurationManager.java   |  288 +++++++++++++++++
     .../src/com/google/zxing/camera/CameraManager.java |  326 ++++++++++++++++++++
     .../com/google/zxing/camera/FlashlightManager.java |  150 +++++++++
     .../zxing/camera/PlanarYUVLuminanceSource.java     |  133 ++++++++
     .../com/google/zxing/camera/PreviewCallback.java   |   59 ++++
     .../zxing/decoding/CaptureActivityHandler.java     |  143 +++++++++
     .../google/zxing/decoding/DecodeFormatManager.java |  104 +++++++
     .../com/google/zxing/decoding/DecodeHandler.java   |  115 +++++++
     .../com/google/zxing/decoding/DecodeThread.java    |   85 +++++
     .../com/google/zxing/decoding/FinishListener.java  |   47 +++
     .../com/google/zxing/decoding/InactivityTimer.java |   71 +++++
     source/src/com/google/zxing/decoding/Intents.java  |  190 ++++++++++++
     .../zxing/view/ViewfinderResultPointCallback.java  |   34 ++
     .../src/com/google/zxing/view/ViewfinderView.java  |  183 +++++++++++
     60 files changed, 2738 insertions(+), 416 deletions(-)
     create mode 100644 source/libs/zxing-1.6.jar
     create mode 100644 source/res/layout/qr_code_scan.xml
     create mode 100644 source/res/raw/beep.ogg
     create mode 100644 source/src/com/google/zxing/CaptureActivity.java
     create mode 100644 source/src/com/google/zxing/camera/AutoFocusCallback.java
     create mode 100644 source/src/com/google/zxing/camera/CameraConfigurationManager.java
     create mode 100644 source/src/com/google/zxing/camera/CameraManager.java
     create mode 100644 source/src/com/google/zxing/camera/FlashlightManager.java
     create mode 100644 source/src/com/google/zxing/camera/PlanarYUVLuminanceSource.java
     create mode 100644 source/src/com/google/zxing/camera/PreviewCallback.java
     create mode 100644 source/src/com/google/zxing/decoding/CaptureActivityHandler.java
     create mode 100644 source/src/com/google/zxing/decoding/DecodeFormatManager.java
     create mode 100644 source/src/com/google/zxing/decoding/DecodeHandler.java
     create mode 100644 source/src/com/google/zxing/decoding/DecodeThread.java
     create mode 100644 source/src/com/google/zxing/decoding/FinishListener.java
     create mode 100644 source/src/com/google/zxing/decoding/InactivityTimer.java
     create mode 100644 source/src/com/google/zxing/decoding/Intents.java
     create mode 100644 source/src/com/google/zxing/view/ViewfinderResultPointCallback.java
     create mode 100644 source/src/com/google/zxing/view/ViewfinderView.java
    

    あら、ちょうどメインブランチにQRコードスキャンを追加したコードがマージされています.
     
    第6歩:ローカル修正コード、自分のrepoローカルコードに提出して最新を維持した後、コードを修正したり追加したりすることができます.例えば、新しい機能を追加して他のバグを修復したりします.ここではREADMEを例示します.mdにこのリンクへの情報を追加します.操作手順は次のとおりです.ice@mac:/source/labs/git/android-app > mate . READMEを開くmdファイル、次の情報を追加
     
    次に、今回の修正を地元の倉庫に追加し、次の手順に従います.
     
     1
     2
     3
     4
     5
     6
     7
     8
     9
    10
    11
    12
    13
    ice@mac:/source/labs/git/android-app > git st
    # On branch master
    # Changes not staged for commit:
    # (use "git add <file>..." to update what will be committed)
    # (use "git checkout -- <file>..." to discard changes in working directory)
    #
    # modified: README.md
    #
    no changes added to commit (use "git add" and/or "git commit -a")
    ice@mac:/source/labs/git/android-app > git add .
    ice@mac:/source/labs/git/android-app > git commit -m "     '  Github  eoe       '   "
    [master 39087c4]      '  Github  eoe       '   
     1 file changed, 3 insertions(+)
    

    最後に今回の修正を自分のリモートウェアハウス(IceskYsl/android-app)に提出し、以下のように操作しました.
     
    1
    2
    3
    4
    5
    6
    7
    8
    ice@mac:/source/labs/git/android-app > git push  origin master
    Counting objects: 5, done.
    Delta compression using up to 4 threads.
    Compressing objects: 100% (3/3), done.
    Writing objects: 100% (3/3), 522 bytes, done.
    Total 3 (delta 1), reused 0 (delta 0)
    To [email protected]:IceskYsl/android-app.git
       1c960df..39087c4  master -> master
    

    ステップ7:メインrepoにpull requestを送信自分のrepoにコミットすると、メインrepoにマージを要求するpull requestを送信できます.操作手順は、https://github.com/IceskYsl/android-appPullを開き、右上の「request」をクリックすると、pull requestを作成するインタフェースが開きます.
     
    ステップ8:メインrepoがpull requestを受け取ったら、mergeが入ってくる
     
    これはreviewで修正でき、問題なければ直接「Merge pull requst」
     
    mergeの後はメイン倉庫で見ることができます.以下のようにします.
     
    これで、コラボレーションプロセス全体が完了します.
     
    eoe.cnクライアントオープンソース
     
  • 重大なメッセージ!eoe.cnクライアントオープンソース
  • https://github.com/eoecn/android-app

  • 原文住所:http://my.eoe.cn/iceskysl/archive/3195.html