CVS
|
클라이언트 서버 |
Merge |
Changeset |
File |
Pserver,ssh |
No |
SVN |
클라이언트 서버 | 3- 방법 병합, 재귀 병합, 문어 병합 | Changeset 및 Snapshot |
Tree |
ssh를 통한 사용자 정의(svn), HTTP 및 SSL(WebDAV 사용) |
예 |
Git |
분산 |
스냅샷 |
Tree |
custom, ssh를 통한 사용자 정의, rsync, HTTP/HTTPS, 이메일, 번들 |
예 |
|
간단히 말하면 각각의 장점과 단점이 있습니다. Git은 분산 피해를 피하기 위해 Github 원격 창고와 협력해야 합니다. 분명히 가장 큰 차이점은 git이 배포된다는 것입니다. svn에는 모든 것이 복제되는 것을 방지하는 권한 제어 기능이 있습니다. Git은 순수 코드에 적합하고, svn은 종합적인 문서 관리에 적합하며, git+svn 조합이 완벽합니다.
소개
Linus는 1991년에 오픈 소스 Linux를 만들었습니다. 이후 Linux 시스템은 계속해서 발전하여 가장 큰 서버 시스템 소프트웨어가 되었습니다. Linux의 핵심은 Linus가 만들었지만 Linux의 성장은 전 세계에서 온 열정적인 자원봉사자들의 참여에 달려 있습니다. 전 세계적으로 Linux용 코드를 작성하는 사람들이 너무 많은데 Linux 코드는 어떻게 관리됩니까?
사실은 2002년 이전에는 전 세계의 자원봉사자들이 diff를 통해 소스 코드 파일을 Linus에 보냈고, Linus 자신이 수동으로 코드를 병합했습니다! Linus가 왜 Linux 코드를 버전 제어 시스템에 넣지 않는지 생각할 수도 있습니다. CVS, SVN 같은 무료 버전 관리 시스템은 없나요? Linus는 CVS와 SVN을 단호하게 반대하기 때문에 이러한 중앙 집중식 버전 관리 시스템은 속도가 느릴 뿐만 아니라 사용하려면 인터넷 연결이 필요합니다. 일부 상용 버전 제어 시스템은 CVS 및 SVN보다 사용하기 쉽지만 유료이며 Linux의 오픈 소스 정신과 일치하지 않습니다. 그러나 2002년까지 리눅스 시스템은 개발된 지 10년이 되었고, 코드 베이스가 너무 커서 리누스가 수동으로 계속 관리하기가 어려웠고, 커뮤니티의 형제들도 이 방법에 대해 강한 불만을 표시했습니다. 상업용 버전 제어 시스템 BitKeeper, BitKeeper의 소유자 BitMover는 인도주의적 정신으로 Linux 커뮤니티에 이 버전 제어 시스템을 무료로 사용할 수 있는 권한을 부여합니다.
안정과 화합의 좋은 상황은 2005년에 깨졌습니다. 그 이유는 리눅스 커뮤니티에 재능 있는 사람들이 많이 모였기 때문이고, 그들이 일부 량산 영웅들의 무술 습관에 오염되는 것은 불가피했습니다. Samba를 개발한 Andrew는 BitKeeper 프로토콜을 크랙하려고 했으나(실제로 이 일을 한 사람이 그뿐만이 아니었습니다) BitMover에 의해 발견되어(모니터링 작업이 잘 이루어졌습니다!) BitMover는 화가 나서 그 프로토콜을 되찾고자 했습니다. Linux 커뮤니티의 무료 사용 권한. Linus는 BitMover에게 사과하고 앞으로 그의 형제들을 엄격하게 징계하겠다고 약속할 수 있습니다. 실제 상황은 이렇습니다. Linus는 C로 분산 버전 제어 시스템을 작성하는 데 2주를 보냈습니다. 이것이 Git입니다! 한 달 만에 Linux 시스템의 소스 코드가 Git으로 관리되었습니다! 소는 어떻게 정의되나요? 멜론을 먹는 사람들은 그것을 경험할 수 있습니다.
Git은 오픈 소스 프로젝트를 위한 무료 Git 저장소를 제공하는 GitHub 웹사이트가 출시된 2008년에 빠르게 가장 인기 있는 분산 버전 제어 시스템이 되었습니다. jQuery, PHP, Ruby를 포함한 수많은 오픈 소스 프로젝트가 GitHub로 마이그레이션되기 시작했습니다. , 등. 역사는 너무나 우연적입니다. 당시 BitMover가 Linux 커뮤니티를 위협하지 않았다면 지금은 무료이고 매우 사용하기 쉬운 Git이 없을 수도 있습니다.
구성 구조 다이어그램
- 작업 공간: 프로젝트의 메타데이터 및 개체 데이터베이스를 저장하는 데 사용되는 장소입니다. 이것은 Git의 가장 중요한 부분입니다. 다른 컴퓨터에서 저장소를 복제하면 여기에 복사되는 데이터입니다.
- 로컬 인덱스: 다음에 제출할 파일 목록 정보를 일반적으로 Git Warehouse 디렉터리에 저장합니다. 때로는 "인덱스"라고도 하지만 일반적으로 스테이징 영역이라고 합니다.
- 로컬 웨어하우스, git이 빠른 이유는 대부분의 제출이 로컬 웨어하우스를 위한 것이며 네트워크에 의존하지 않고 마지막 푸시가 원격 웨어하우스로 이루어지기 때문입니다.
- 원격 창고: 누구나 편리하게 다운로드, 조회, 제출, 보관할 수 있는 웹 서비스를 제공하는 github이라고 할 수 있습니다.
명령 빠른 확인
공통 명령
- 웨어 하우스 복제 (처음) clone clone
- 작업 디렉토리의 파일 추가, 수정, 삭제
- 임시 파일 저장 및 파일의 스냅샷을 임시 저장 영역에 넣기 add new 추가
- 임시 저장 공간 배치 지역 로컬 창고에 콘텐츠 제출 커밋 제출
- 원격 창고에 로컬 창고의 콘텐츠 제출 push
- 원격 창고 풀에서 최신 콘텐츠 다운로드
Code Cloud 구성 환경
계정 등록
모든 사람 먼저 공식 웹사이트에서 계정을 등록해야 합니다.
https://gitee.com/
Log in
GIT 설치
Git-2.27.0-64- bit, 다음으로 이동 후 설치 후 바탕화면에서 마우스 오른쪽 버튼을 클릭하시면 메뉴에 다음 두 가지 항목이 있으며 설치가 완료됩니다. Git Bash를 선택하고 git 클라이언트를 입력합니다.
Windows 시작 메뉴:
글꼴 설정
Query git
원격 창고 만들기( 코드 공식 홈페이지 cloud) )
로컬 저장소 만들기(디스크에)
테스트 파일을 만들고 로컬 저장소에서 다음 명령을 실행하세요.
git config --global user.name "cgblpx" #配置注册时的用户名
git config --global user.email "2250432165@qq.com" #配置注册时的邮箱
git config --list #检查配置信息
mkdir j2ee
cd j2ee
git init #初始化
在本地仓库中,创建文件1.txt
git add 1.txt #新增文件到git中处理
git commit -m "first commit" #提交,设置说明信息
git remote add origin https://gitee.com/nutony/j2ee.git #远程仓库
git push -u origin master #把本地仓库的资源 提交给Git服务器
다음 사용자 이름과 비밀번호 상자가 나타납니다. 처음으로 코드를 입력하면 클라우드 계정 정보로 페이지를
새로 고칠 수 있습니다. 생성에 성공하면 Git의 인터페이스가 다음과 같이 변경되고 환경이 완성됩니다
일상 작업
매일 아침 출근 전 최신 정보 가져오기 다른 팀원이 제출한 콘텐츠, 매일 퇴근 전에 사용 가능한 콘텐츠 제출
새 파일
프로젝트 디렉터리 만들기, 새 파일 만들기 또는 복사 기존 파일을 복사하거나 기존 디렉터리를 복사하세요.
推送
把本地文件上传到远程仓库中:
$ git add . #添加当前目录下文件
$ git commit -m "j2ee part" #提交,设置备注
$ git push -u origin master #推送到远程仓库
拉取/下载
把远程仓库中的内容下载到本地:
$ git pull #从服务器拉取最新内容
常见错误
Authentication failed for
任何路径下输入都可以:
git config --system --unset credential.helper
然后提交操作时,会出现询问框,重新输入用户名提示
failed to push some refs to…
这是是因为readme.md 没有存在在本地git中
git pull --rebase origin master #
$ git push -u origin master #推送到远程仓库
–rebase用在合并代码的时候其作用就是在一个随机创建的分支上处理冲突,避免了直接污染原来的分区。
fatal: remote origin already exists
1、先输入$ git remote rm origin(删除关联的origin的远程库)
2、再输入重新执行 git push -u origin master
3、如果输入第1步 还是报错的话,error: Could not remove config section 'remote.origin'. 我们需要修改gitconfig文件的内容
4、找到你的github的安装路径,我的是C:\Users\ASUS\AppData\Local\GitHub\PortableGit_ca477551eeb4aea0e4ae9fcd3358bd96720bb5c8\etc
5、找到一个名为gitconfig的文件,打开它把里面的[remote "origin"]那一行删掉就好了!
SSL certificate problem: unable to get local issuer certificate
--执行命令解决: git config --global http.sslVerify false
--重新push: git push -u origin master
邮箱是私有的报错
需要在码云上,把邮箱改成公开的才行
IDEA整合Git
在Gitee创建新的仓库
在网页中创建仓库名称:cgb2109-3
进入workspace
进入workspace,再进入你的项目目录,直接执行clone命令:
git clone https://gitee.com/cgblpx/cgb2109-3.git
也许:
需用执行其他的账号密码等命令
打开IDEA的工程中,你会发现直接就能提交或者拉取代码了
推荐学习:《Git教程》