Beherrschen Sie die Grundfunktionen von Git unter Linux und Windows vollständig

WBOY
Freigeben: 2022-03-10 20:04:34
nach vorne
1978 Leute haben es durchsucht

Dieser Artikel vermittelt Ihnen relevantes Wissen über Git, das hauptsächlich die grundlegenden Operationen von Git unter Linux und Windows vorstellt. Ich hoffe, dass es für alle hilfreich ist.

Beherrschen Sie die Grundfunktionen von Git unter Linux und Windows vollständig

Empfohlene Studie: „Git-Tutorial

Git-Studiennotizen – grundlegende Operationen von Git unter Linux und Windows

Github-Homepage: https://github.com/Taot-chen

1 . Linux-UmgebungLinux环境

1、安装git

sudo apt-get install git
Nach dem Login kopieren

2、设置git账号信息

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

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

git config --global credential.helper cachegit config --global credential.helper 'cache --timeout=3600'
Nach dem Login kopieren

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的几乎一致
Nach dem Login kopieren

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地址"
Nach dem Login kopieren

6、push报错时调大缓存

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

二、Windows环境

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

1)本地版本控制系统

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

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

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

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

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

2、Windows下git的安装和配置

1)安装

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

  • 查看版本:

    git --version
    Nach dem Login kopieren

2)配置用户名和邮箱

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

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

1)三种状态

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

2)三个工作区域

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

3)git的工作流程

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

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

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

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

1)初始化本地仓库

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

git init
Nach dem Login kopieren

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

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

例如:

Git Bash

1. Git-Kontoinformationen einrichten

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

3 , darunter die erste Die zweite Zeile dient zum Festlegen der Timeout-Zeit

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

4. Erhalten Sie den SSH-Schlüssel und verknüpfen Sie ihn mit dem Remote-GIT
git log --pretty=oneline
Nach dem Login kopieren
5. Erhöhen Sie den Cache, wenn ein Push-Fehler vorliegt gemeldet
git reset --hard HEAD^    
# 回退一个版本git reset --hard HEAD^^   
# 回退两个版本git reset --hard HEAD~n   
# 回退n个版本git reset --hard "版本识别码”   
# 回退或者前进到版本识别码所在的版本git reflog    
# 显示所有的提交记录(包括HEAD指向的版本之后的版本),即可以显示用户的每一次操作的记录
Nach dem Login kopieren
2. WindowsUmgebung
1. Versionskontrolle; Sicherung und Änderung

1) Lokales Versionskontrollsystem
  • Speichern Sie die Versionsnummer in der Datenbank, um Versionsänderungen zu unterscheiden und aufzuzeichnen.

    2) Zentralisiertes Versionskontrollsystem (CVCS)
  • Verfügt über einen Server zum Speichern von Versionsrevisionen und kann Versionsdatensätze verwenden, um verwandte Datensätze einfach zu finden.


    3) Verteiltes Versionskontrollsystem (DVCS)

    Der Client extrahiert nicht nur die neueste Version des Datei-Snapshots, sondern spiegelt auch das ursprüngliche Code-Repository lokal. Jeder gemeinsam behandelte Serverfehler kann anschließend behoben werden lokales Repository zur Wiederherstellung.
2. Installation und Konfiguration von Git unter Windows

1) Installation

Laden Sie die entsprechende Version auf der offiziellen Git-Website herunter und installieren Sie sie, suchen Sie im Menü nach Git->Git Bash und a Das Befehlszeilenfenster wird angezeigt. Das heißt, die Installation ist erfolgreich.

Version anzeigen:

git ls-files    
# 查看本地仓库的文件目录git rm filename   
# 删除文件filename
# 另一种删除方法:现在工作区删除文件,之后再提交操作即可
Nach dem Login kopieren

2) Benutzernamen und E-Mail konfigurieren

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

3. Drei Status und Arbeitsmodi von Git-Dateien

1) Drei Status

Festgeschrieben: Die Daten wurden sicher gespeichert die lokale Datenbank

Modified: Die Datei wurde geändert, aber noch nicht in der Datenbank gespeichert

Staged: Die aktuelle Version einer geänderten Datei wird markiert, sodass sie im Snapshot der nächsten Übermittlung enthalten ist

2) Drei Arbeitsbereiche

🎜Arbeitsbereich: lokales Projektverzeichnis 🎜🎜Staging-Bereich: Erstellen Sie einen Snapshot der geänderten Datei und fügen Sie ihn dem Staging-Bereich hinzu. 🎜🎜git-Repository: Arbeit Das versteckte Verzeichnis .git im Bereich ist kein Arbeitsbereich, sondern ein Git-Repository. 🎜🎜🎜3) Git-Workflow. Bestimmte Dateien im Arbeitsbereich ändern; Speichern Sie den im Staging-Bereich gespeicherten Snapshot dauerhaft im Git-Repository Versionsbibliothek und Dateien übermitteln 🎜🎜1) Initialisieren Sie das lokale Warehouse. 🎜🎜 Initialisieren Sie ein leeres Warehouse ohne lokale Dateien. 🎜🎜
# 首先需要在gitbash中生成一个keyssh-keygen -t rsa -C "github邮箱"
# 找到生成的公钥,打开后复制,之后再去github中添加`SSH and GPG keys`
# 验证有没有添加成功ssh -T git@github.com# 出现您以被成功认证即可(即此时已经将ssh绑定了github)
# 下载项目git clone "项目地址" (ssh地址)
Nach dem Login kopieren
🎜2) Erstellen Sie einen neuen Ordner git01.txt und fügen Sie ihn dem temporären Speicherbereich hinzu🎜
# 在github新建一个仓库# 将本地项目提交到本地仓库
# 将本地仓库绑定github上面的远程仓库git remote add origin "github仓库地址"
# 将其推到远程仓库的主干上(远程仓库中包含本地仓库的所有提交记录)git push -u origin master
# 以后的更新推送,只需要在本地提交完成之后,直接如下命令git push
Nach dem Login kopieren
🎜🎜Zum Beispiel: 🎜🎜🎜 in Git Bash🎜
git fetch
Nach dem Login kopieren
Nach dem Login kopieren
🎜5. Dateiänderung und -übermittlung Änderung🎜🎜 Sie können Änderungen direkt in der Arbeitsbereichsdatei vornehmen, sie dann zum Staging-Bereich hinzufügen und an das lokale Lager senden🎜🎜🎜🎜Hinweis: 🎜🎜 muss vor der Übermittlung zum Staging-Bereich hinzugefügt werden🎜🎜1) Übermittlung und Übermittlung von Staging-Bereichsdateien Rückgängig machen 🎜🎜🎜🎜 Commit: git add/git commit 🎜🎜🎜🎜 Rückgängig machen: 🎜🎜 Aus dem Staging-Bereich entfernen: 🎜
git log --graph --pretty=oneline
Nach dem Login kopieren
Nach dem Login kopieren
🎜🎜🎜2) Versions-Rollback 🎜🎜Vereinfachte Anzeige von Commit-Datensätzen: 🎜
# 当分支和主干的同一文件的同一行不同的时候,合并分支就会出现冲突
# 根据具体的需要修改,使之相同即可
Nach dem Login kopieren
Nach dem Login kopieren
🎜HEAD zu diesem Zeitpunkt Der Zeiger zeigt standardmäßig auf den letzten festgeschriebenen Datensatz. Das Versions-Rollback ist die Version, auf die der HEAD-Zeiger zurücksetzen möchte. 🎜
# 两个用户对同一个文件的同一行进行了不同的操作
# 解决方法:在推送之期拉一下远程仓库,在本地根据具体的需求解决完冲突之后再推送
Nach dem Login kopieren
Nach dem Login kopieren
🎜3) Dateilöschung🎜rrreee🎜6. Remote-Warehouse🎜🎜1) Github🎜rrreee🎜2) SSH-Download (Anmeldung erforderlich)🎜rrreee🎜3) Lokales Projekt (lokales Warehouse) in Remote-Warehouse verschoben🎜rrreee🎜7. Git-Zweigoperationen 🎜🎜 Der Trunk ist ein Projekt, das bereits online ist, und alle Vorgänge in der Verzweigung haben keinen Einfluss auf die Funktionalität des Trunks. Nachdem der Zweig vollständig und korrekt ist, führen Sie ihn in den Stamm ein. 🎜🎜🎜1) Lokale Filialoperationen🎜🎜🎜Häufig verwendete Grundbefehle🎜🎜🎜
命令 描述
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
Nach dem Login kopieren
Nach dem Login kopieren

图表的方式显示操作记录

git log --graph --pretty=oneline
Nach dem Login kopieren
Nach dem Login kopieren

3)本地分支冲突解决

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

4)多人协同操作冲突

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

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学习教程

Das obige ist der detaillierte Inhalt vonBeherrschen Sie die Grundfunktionen von Git unter Linux und Windows vollständig. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
git
Quelle:csdn.net
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage