-
오픈소스(Open Source) & Glt Clone해보기Git 2022. 9. 22. 10:08
# 오픈소스(OpenSource)
GitHub에는 훌륭한 프로젝트들이 많습니다.
그리고 이런 프로젝트는 대부분 그 소스 코드가 공개되어 있습니다.
이렇게 소스 코드가 공개되어 있는 프로젝트를 '오픈 소스 프로젝트(open source project)'라고 하는데요
‘오픈 소스’가 뭘까요?
간단히 설명하자면 프로그램의 소스 코드가 대중에 공개된 상태일 때 오픈 소스라고 합니다.
오픈 소스라는 용어의 의미는 그것이 생겨난 역사적 배경을 살펴보면 좀더 잘 이해할 수 있습니다.
===========================================
하지만 컴퓨터 프로그램 시장이 발전하면서 특정 회사가 어떤 프로그램을 만들고 그 사용료 등을 받는 것이 일반화되기 시작했는데요. 이런 변화와 함께 프로그램의 소스 코드들은 점점 그 프로그램을 만든 회사만 갖고 있고 공개되지 않기 시작했습니다. 그러니까 내가 고객으로서 어떤 회사의 프로그램을 쓰더라도 그 프로그램의 소스 코드를 볼 수는 없게 된 겁니다.
하지만 이런 움직임에 반해 1983년 ‘리차드 스톨만(Richard Stallman)’이라고 하는 MIT의 연구원이 '자유 소프트웨어 운동'이라는 걸 시작했습니다. 아주 오래 전 소스 코드를 공유하던 문화로 돌아가자는 취지의 운동이었는데요. 그는 곧이어 '자유 소프트웨어 재단(Free Software Foundation)' 이라는 걸 세우고 이러한 운동을 조직화했습니다. 자유 소프트웨어 재단에서 소프트웨어는
- 그 소스 코드가 공개되어야 하고
- 누구나 코드를 자유롭게 가져다가 사용할 수 있고
- 원래의 코드를 자신이 원하는 대로 수정할 수 있어야한다# 다른프로젝트 가져오기
- 깃 주소 형태 https://github.com/[USERNAME]/[REPOSITORY_NAME].git [USERNAME]은 GitHub 사용자 이름 [REPOSITORY_NAME]은 저장소를 생성할 때 지정한 저장소 이름 - git clone명령어 형식 git clone [REPO_URL] [DIR] [REPO_URL]에는 클론해올 저장소의 주소를 지정 [DIR] 인자는 저장소를 로컬에 복제할 위치를 지정 - git clone 해보기 yunajoe@yunajoe MINGW64 ~/Git $ mkdir GitClone yunajoe@yunajoe MINGW64 ~/Git $ cd GitClone yunajoe@yunajoe MINGW64 ~/Git/GitClone $ git clone https://github.com/tensorflow/tensorflow.git Cloning into 'tensorflow'... remote: Enumerating objects: 1429389, done. remote: Counting objects: 100% (153/153), done. remote: Compressing objects: 100% (121/121), done. remote: Total 1429389 (delta 59), reused 68 (delta 31), pack-reused 1429236 Receiving objects: 100% (1429389/1429389), 946.35 MiB | 14.02 MiB/s, done. Resolving deltas: 100% (1161198/1161198), done. Updating files: 100% (27711/27711), done. yunajoe@yunajoe MINGW64 ~/Git/GitClone/tensorflow (master) $ ls AUTHORS ISSUES.md WORKSPACE tensorflow/ BUILD ISSUE_TEMPLATE.md arm_compiler.BUILD third_party/ CITATION.cff LICENSE configure* tools/ CODEOWNERS README.md configure.cmd CODE_OF_CONDUCT.md RELEASE.md configure.py CONTRIBUTING.md SECURITY.md models.BUILD
# 명령어 정리
git push -u origin master : 로컬 레포지토리의 내용을 처음으로 리모트 레포지토리에 올릴 때 사용합니다.(-u origin master가 무슨 뜻인지는 'Git에서 브랜치 사용하기' 챕터에서 배울 거니까 걱정마세요!) git push : 로컬 레포지토리의 내용을 리모트 레포지토리에 보내기 git pull : 리모트 레포지토리의 내용을 로컬 레포지토리로 가져오기 git clone [프로젝트의 GitHub 상 주소] : GitHub에 있는 프로젝트를 내 컴퓨터로 가져오기
# 클론한 저장소의 원격 저장소 위치 확인하기 yunajoe@yunajoe MINGW64 ~/Git/GitClone/tensorflow (master) $ git remote -v origin https://github.com/tensorflow/tensorflow.git (fetch) origin https://github.com/tensorflow/tensorflow.git (push)
GitHub Private 프로젝트 git clone하기
- 일단 collobrator로 등록되어 있는 계정으로 로그인해주고
git clone https://username@github.com/username/repository $ git clone https://wai-luvd@github.com/wai-luvd/classification1.git
'Git' 카테고리의 다른 글
git reset (0) 2023.02.19 커밋메시지 다루기 (m옵션 없이 메세지 남기기, 최신 커밋 수정하기, as로 별칭 만들기, 두 커밋 간의 차이보기) (0) 2023.02.19 커밋 히스토리 (0) 2023.02.19 Remote repository와 Local repository를 연결해보기 (0) 2022.09.17 Git시작하기 (0) 2022.09.17