Github 참여 eoe 기반 오픈 소스 프로젝트 가이드

16785 단어 githubgit
Github는 아주 좋은 프로젝트 위탁 관리 사이트입니다. Git의 원리를 바탕으로 우리는 많은 사람들이 협업하여 개원 프로젝트에 참여할 수 있습니다. 며칠 전에 eoe가 안드로이드 클라이언트를 개원했는데 많은 학생들이 적극적으로 참여하거나 참여하고 싶어 하는 것을 보았습니다. 하지만 Git나 Github에 익숙하지 않아서 곤혹스럽고 의문이 많습니다.Github를 바탕으로 eoe 오픈 소스 프로젝트에 참여하는 방법에 대한 안내서를 씁니다.
 
주:Git의 이념과 기본 조작과 추천의 사용 방식은 상세하게 말하지 않겠습니다.git-flow와 같은 규범이나 다른 글을 참고하셔도 됩니다.Github의 여러 사람의 협조를 바탕으로 하는 방법만 말씀드리겠습니다.
 
협조 약속
 
  • 1.모든 사람이 자신의 리포를 한 부씩 fork할 수 있고 모든 수정은 자신의 개인적인 리포에서 진행된다.
  • 2.수정이 완료되고 테스트가 통과된 후 주 리포에pullrequest를 보내서 합병을 요청합니다.
  • 3. 주repo(eoecn/android-app)의 관리팀이pullrequest 요청을 받은 후review 코드를 통합합니다.
  • 4.개인의 리포는 제때에 주 리포와 동기화를 유지해야 한다.

  • 다음에 우리는 각 단계가 어떻게 조작되는지 상세하게 설명한다.
     
    1단계: fork는 자신의 리포에서 eoecn/android-app가 Github에 있는 홈페이지https://github.com/eoecn/android-app/를 엽니다. 다음과 같습니다.
     
    오른쪽 상단에서'fork'를 클릭하면 자신의 리포를 포크할 수 있습니다. 그의 URL은 https://github.com/IceskYsl/android-app과 유사합니다. 지금 우리는 자신의 리포가 생겼습니다. 이어서 우리의 조작은 모두 자신의 리포에 기반을 두고 있습니다(제가 있는 곳은 바로 iceskysl/android-app입니다).
     
    2단계: clone 자신의 리포 위에 우리는 자신의 리포를 포착했다. 이어서 clone을 내려올 수 있다. 먼저 자신의 리포 홈페이지(https://github.com/IceskYsl/android-app에 가서 리포의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단계: 로컬 수정 코드, 자신의 리포에 제출한 로컬 코드를 최신으로 유지한 후에 코드를 수정하거나 추가할 수 있습니다. 예를 들어 새로운 기능을 추가하여 다른 버그를 복구할 수 있습니다. 여기서 저는 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단계: 주 리포에pullrequest를 보내서 자기 리포에 제출하면 주 리포에 통합을 요청하는pullrequest를 보낼 수 있습니다. 조작 절차는 이렇게 열기https://github.com/IceskYsl/android-appPull하고 오른쪽 상단에 있는'request'를 클릭하면pullrequest를 만드는 인터페이스를 열 수 있습니다. 아래와 같습니다.
     
    8단계: 주 리포가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

    좋은 웹페이지 즐겨찾기