>  기사  >  개발 도구  >  Linux 및 Windows에서 git의 기본 작업을 완전히 마스터하세요.

Linux 및 Windows에서 git의 기본 작업을 완전히 마스터하세요.

WBOY
WBOY앞으로
2022-03-10 18:07:461836검색

이 기사는 Linux 및 Windows에서 git의 기본 작업을 주로 소개하는 Git에 대한 관련 지식을 제공합니다. 모든 사람에게 도움이 되기를 바랍니다.

Linux 및 Windows에서 git의 기본 작업을 완전히 마스터하세요.

추천 학습: "Git Tutorial"

git 학습 노트 - Linux 및 Windows에서 git의 기본 작업

github 홈페이지: https://github.com/Taot-chen

1 . Linux 환경Linux环境

1、安装git

sudo apt-get install git

2、设置git账号信息

git config --global user.name "你的git账号用户名"git config --global user.email "你的邮箱"

3、设置让credential helper 帮助我们在一定时间内在内存中保存我们的code,其中第二行为设置超时的时间

git config --global credential.helper cachegit config --global credential.helper 'cache --timeout=3600'

4、获取ssh秘钥和远程GIT关联

ssh-keygen -t rsa -C "你的邮箱"# 之后一路回车cd ~/.ssh 
cat id_rsa.pub# 再在Terminal中复制密钥,添加到github的settings的SSH公钥中,完成免密码登录关联
# 验证ssh通信情况,提示连接成功即可ssh -T git@github.com# 其他操作就和为windows的几乎一致

5、push常用命令

git init # 初始化本地仓库git config --list
 # 可以查看你的git配置信息
 # 提交文件到本地仓库git add abc.cppgit commit -m "first commit" //-m 用于指定本次提交的描述信息
 # 提交到repositorygit remote add origin "github仓库ssh地址"	//关联仓库git push origin master #master 是分支名
 # 以后若提交到相同仓库,提交到本地仓库之后,直接git push即可# 克隆项目git clone "项目的ssh地址"

6、push报错时调大缓存

git config http.postBuffer 52428800		//(根据文件大小随便调整)

二、Windows环境

1、版本控制;备份与修改

1)本地版本控制系统

 把版本号存入数据库,来区分记录版本的更迭。

2)集中化版本控制系统(CVCS)

 具有一个专门用于存放版本的修订版本的服务器,并且能够借助版本记录来方便地定位相关的记录。

3)分布式版本控制系统(DVCS)

 客户端不只是提取出最新版本的文件快照,而是把最原始的代码仓库镜像到本地,任何一处协同处理的服务器故障,事后都可以用任何一个镜像出来的本地仓库恢复。

2、Windows下git的安装和配置

1)安装

 在git官网下载安装对应的版本,在菜单中找到Git->Git Bash,出现命令行窗口,即是安装成功。

  • 查看版本:

    git --version

2)配置用户名和邮箱

git config --gobal user.name "your user name"     
# 配置用户名git config --gobal user.email "your email"    
#配置邮箱git config --list     
# 查看所有配置

3、git文件的三种状态和工作模式

1)三种状态

  • 已提交(committed):数据已经安全地保存到本地数据库中
  • 已修改(modified):修改了文件,但还没保存到数据库中
  • 已暂存(staged):对一个已修改的文件的当前版本作了标记,使之包含在下次提交的快照中

2)三个工作区域

  • 工作区:本地项目目录
  • 暂存区:对修改后的文件进行快照,添加到暂存区
  • git仓库:工作区的隐藏目录.git,不算是工作区,是git的版本库

3)git的工作流程

  • 在工作区中修改某些文件;
  • 对修改后的文件进行快照,添加到暂存区
  • 提交更新,将保存在暂存区的快照永久存储在git仓库中

    拉取: git仓库->本地工作区

    提交: 本地工作区->暂存区->git仓库

4、创建版本库并提交文件

1)初始化本地仓库

 在本地初始化一个没有任何文件的空仓库。

git init

2)新建文件夹git01.txt并添加到暂存区

git add     
# 将文件添加到暂存区git add .   
# 提交当前目录的全部文件git status  
# 查看文件的状态git commit  
# 将暂存区的文件提交到本地仓库git log     
# 查看完整的提交日志信息git diff HEAD --file    
# 查看文件法file历次提交的区别

例如:

Git Bash

1. git

git init    
# 创建空仓库git add git01.txt   
# 将文件git01.txt添加到缓存区git commit -m '第一次提交'   
#提交文件到本地仓库,单引号内的内容是本次提交的注释,必须要有git status    
# 查看暂存区文件状态git log    
 # 查看完整的提交记录

2를 설치합니다. git 계정 정보를 설정합니다

git restore --staged git02.txt   
# 从暂存区移除文件git02.txtgit reset HEAD git02.txt    
# 取消关于文件git02.txt上一次的操作

3. 특정 기간 내에 코드를 메모리에 저장할 수 있도록 도와줍니다. , 그 중 첫 번째 줄은 시간 초과 시간을 설정하는 것입니다
git log --pretty=oneline
4. SSH 키를 가져와 원격 GIT
git reset --hard HEAD^    
# 回退一个版本git reset --hard HEAD^^   
# 回退两个版本git reset --hard HEAD~n   
# 回退n个版本git reset --hard "版本识别码”   
# 回退或者前进到版本识别码所在的版本git reflog    
# 显示所有的提交记录(包括HEAD指向的版本之后的版本),即可以显示用户的每一次操作的记录
5와 연결합니다. 푸시 보고 시 캐시를 늘립니다. error
git ls-files    
# 查看本地仓库的文件目录git rm filename   
# 删除文件filename
# 另一种删除方法:现在工作区删除文件,之后再提交操作即可
2.WindowsEnvironment

1. 버전 관리, 백업 및 수정
  • 1) 로컬 버전 관리 시스템

    버전 변경 사항을 구별하고 기록하기 위해 데이터베이스에 버전 번호를 저장합니다.
  • 2) 중앙 버전 관리 시스템(CVCS)


    버전 개정을 저장하는 전용 서버가 있으며, 버전 기록을 이용하여 관련 기록을 쉽게 찾을 수 있습니다.

    3) 분산 버전 제어 시스템(DVCS)
클라이언트는 파일 스냅샷의 최신 버전을 추출할 뿐만 아니라 원본 코드 저장소를 로컬로 미러링합니다. 공동으로 처리되는 모든 서버 오류는 나중에 해결될 수 있습니다. 복원할 로컬 저장소.

2. Windows에서 git 설치 및 구성

1) 설치

git 공식 홈페이지에서 해당 버전을 다운로드하여 설치한 후 메뉴에서 Git->Git Bash를 찾아 명령줄 창이 나타납니다. 즉, 설치가 성공한 것입니다.

버전 보기:

git clone "项目地址"(github地址)    
# 下载github项目(可以不登陆)

2) 사용자 이름 및 이메일 구성

# 首先需要在gitbash中生成一个keyssh-keygen -t rsa -C "github邮箱"
# 找到生成的公钥,打开后复制,之后再去github中添加`SSH and GPG keys`
# 验证有没有添加成功ssh -T git@github.com# 出现您以被成功认证即可(即此时已经将ssh绑定了github)
# 下载项目git clone "项目地址" (ssh地址)

3 git 파일의 세 가지 상태 및 작업 모드

1) 세 가지 상태


커밋됨: 데이터가 안전하게 저장되었습니다. 로컬 데이터베이스

Modified: 파일이 수정되었지만 데이터베이스에 저장되지 않았습니다.

Staged: 수정된 파일의 현재 버전이 다음 제출물의 스냅샷에 포함되도록 표시됩니다.

2) 세 가지 작업 🎜🎜🎜작업 공간: 로컬 프로젝트 디렉터리 🎜🎜스테이징 영역: 수정된 파일의 스냅샷을 찍어 스테이징 영역에 추가합니다. 🎜🎜git 저장소: 작업 해당 영역의 숨겨진 디렉터리 .git는 다음과 같습니다. 작업공간이 아니라 git 저장소🎜🎜🎜3) Git 작업흐름🎜🎜🎜작업공간에서 특정 파일을 수정합니다.🎜🎜수정 후 파일의 스냅샷을 찍어 준비 영역에 추가🎜🎜업데이트를 제출하고 영구적으로 준비 영역에 저장된 스냅샷을 git 저장소🎜🎜🎜Pull:🎜 git 저장소->로컬 작업 공간🎜🎜🎜제출:🎜 로컬 작업 공간 -> 준비 영역 -> git 창고 🎜🎜🎜🎜4 버전을 만듭니다. 라이브러리 및 파일 제출 🎜🎜1) 로컬 창고 초기화 🎜🎜 로컬에 파일이 없는 빈 창고를 초기화합니다. 🎜🎜
# 在github新建一个仓库# 将本地项目提交到本地仓库
# 将本地仓库绑定github上面的远程仓库git remote add origin "github仓库地址"
# 将其推到远程仓库的主干上(远程仓库中包含本地仓库的所有提交记录)git push -u origin master
# 以后的更新推送,只需要在本地提交完成之后,直接如下命令git push
🎜2) 새 폴더 git01.txt를 생성하고 임시 저장 영역🎜
git fetch
🎜🎜에 추가합니다. 예: 🎜🎜🎜 Git Bash🎜
git log --graph --pretty=oneline
🎜5. 수정🎜🎜 작업공간 파일에서 직접 수정한 다음 준비 영역에 추가하고 로컬 창고에 제출할 수 있습니다🎜🎜🎜🎜참고: 🎜🎜 제출하기 전에 준비 영역에 추가해야 합니다🎜🎜1) 제출 및 스테이징 영역 파일 제출 실행 취소 🎜🎜🎜🎜 커밋: git add/git commit 🎜🎜🎜🎜 실행 취소: 🎜🎜 스테이징 영역에서 제거: 🎜
# 当分支和主干的同一文件的同一行不同的时候,合并分支就会出现冲突
# 根据具体的需要修改,使之相同即可
🎜🎜🎜2) 버전 롤백 🎜🎜커밋 레코드 단순화된 표시: 🎜
# 两个用户对同一个文件的同一行进行了不同的操作
# 解决方法:在推送之期拉一下远程仓库,在本地根据具体的需求解决完冲突之后再推送
🎜HEAD 이때 포인터는 기본적으로 마지막으로 커밋된 레코드를 가리킵니다. 버전 롤백은 HEAD 포인터가 롤백하려는 버전입니다. 🎜rrreee🎜3) 파일 삭제🎜rrreee🎜6. 원격 창고🎜🎜1) github🎜rrreee🎜2) SSH 다운로드(로그인 필요)🎜rrreee🎜3) 로컬 프로젝트(로컬 창고)가 원격 창고로 푸시됨🎜rrreee🎜7. Git 브랜치 작업 🎜🎜 트렁크는 이미 온라인 상태인 프로젝트이므로 브랜치에서의 모든 작업은 트렁크 기능에 영향을 미치지 않습니다. 브랜치가 완전하고 수정되면 이를 트렁크에 병합합니다. 🎜🎜🎜1) 로컬 분기 작업🎜🎜🎜자주 사용하는 기본 명령어🎜🎜🎜
命令 描述
git checkout branch 切换到指定分支
git checkout -b new_branch 新建分支并切换到新建分支
git branch -d branch 删除指定分支
git branch 查看所有分支,并且*标记当前所在分支
git merge branch 合并分支
git branch -m / -M oldbranch newbranch 重命名分支,如果new_branch名字分支已经存在,则需要使用-M强制重命名
  • 切换到指定分支:git checkout branch
  • 新建分支并切换到新建分支:git checkout -b new_branch
  • 删除指定分支:git branch -d branch
  • 查看所有分支,并且*标记当前所在分支:git branch
  • 合并分支:git merge branch
  • 重命名分支,如果new_branch名字分支已经存在,则需要使用-M强制重命名:git branch -m | -M oldbranch newbranch

    注:

    只能在主干分支上来合并分支,不可反过来。(虽然git不会报错,但是这样是不可以的)

    分支所具有的内容,就是创建分支的时候主干所具有的内容。

2)远程分支操作

分支push和pull

相关命令

命令 描述
git branch -a 查看本地与远程分支
git push origin branch_name 推送本地分支到远程
git push origin :remote_branch 删除远程分支(本地分支还保留)
git checkout -b local_branch origin/remote_branch 拉取远程指定分支并在本地创建分支

获取远程分支的最新状态

git fetch

图表的方式显示操作记录

git log --graph --pretty=oneline

3)本地分支冲突解决

# 当分支和主干的同一文件的同一行不同的时候,合并分支就会出现冲突
# 根据具体的需要修改,使之相同即可

4)多人协同操作冲突

# 两个用户对同一个文件的同一行进行了不同的操作
# 解决方法:在推送之期拉一下远程仓库,在本地根据具体的需求解决完冲突之后再推送

9、标签管理

标签操作基本命令git tag

命令 描述
git tag tag_name 新建标签,默认为HEAD
git tag -a tag_name -m ‘xxx’ 添加标签并指定标签描述信息
git tag 查看所有标签
git tag -d tag_name 删除一个本地标签
git push origin tag_name 推送本地标签到远程
git push origin --tags 推送全部未推送过的本地标签到远程
git push origin :refs/tags/tag_name 删除一个远程标签

10、Idea下git基本操作

1)环境集成配置

Configure->Settings->搜索git->在Path to Git executable中添加git的安装路径(一直到git.exe)->test->出现版本号,即表示成功->添加github


File->Other Settings->Setting for New Projects->Git/Git Hub

2)推送项目到远程仓库

项目提交到本地仓库->创建远程仓库->绑定远程仓库->推送到远程仓库

3)分支操作

4)gitignore插件

5)冲突及其解决

推荐学习:《Git学习教程

위 내용은 Linux 및 Windows에서 git의 기본 작업을 완전히 마스터하세요.의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
이 기사는 csdn.net에서 복제됩니다. 침해가 있는 경우 admin@php.cn으로 문의하시기 바랍니다. 삭제