开始使用Git吧!
针对Git的初学者的文章。
机制
Git使用快照进行记录。未经修改的文件将在下一个版本中保持不变。
通过使用快照进行记录,可以提高多人开发时的速度。
因为在提交时会记住上一次的提交信息。
如果记录版本,就可以回滚到先前的版本。
提交记录中记录了前一次提交、作者、日期和提交信息。
本地:我的电脑
远程仓库:GitLab
-
- ローカルは3つ分けられる
-
- リポジトリ:スナップショットを記録(git commit)
-
- ステージ:変更が完了したものだけを記録、変更途中のファイルは置かない(git add)
- ワークツリー:VSコード
如何开始使用Git
-
- 自分で新規プロジェクトを作成の場合を以下を行う
-
- git init でローカルリポジトリが作成される(.gitディレクトリ)
- .gitディレクトリは隠しフォルダなのでls -a で確認できる。
HEAD:
分支:
配置:设置文件
描述:
挂钩:
信息:
对象:仓库主体(树文件,提交文件)
-
- 他の人がプロジェクトを作成した場合は以下を行う
-
- git clone <リポジトリ>でクーロンを作成する。
- ローカルにリモートリポジトリファイルと.gitディレクトリがコピーされる。
1. 新增一个远程仓库。
使用命令 git remote add origin
通过注册,以后可以通过”origin”名称将文件上传或下载到GitLab存储库。
如果不注册…
每次都必须手动输入存储库的URL。
把成果推送到远程仓库
git push <远程名称><分支名称>
下面是有关Github的确认事项:
https://docs.github.com/ja/authentication/keeping-your-account-and-data-secure/creating-a-personal-access-token
指令集
git remote add origin :将远程仓库添加为新的注册。
注册后,您可以使用 “origin” 这个名称将文件上传或者从GitLab存储库中获取。
如果不进行注册的话,每次都必须手动填写存储库的url。
git add:在VS Code中进行工作并将其添加到暂存区中。
git commit: 将暂存区的内容添加到仓库中。
选项 -m: 编写提交信息。
选项 -v: 可以查看编辑器中的更改内容。
提交信息的编写方式!
第一行:类型□变更内容的摘要
第二行:空行
(第三行:变更原因)
下面是选择类型的方式↓
https://github.com/angular/angular.js/blob/master/DEVELOPERS.md#commit-message-format
选择类型的方法如下↓
https://github.com/angular/angular.js/blob/master/DEVELOPERS.md#commit-message-format
使用Git命令将<分支名称>推送到<远程名称>:将内容发送到远程仓库
以下是在GitHub中需要注意的事项↓
https://docs.github.com/ja/authentication/keeping-your-account-and-data-secure/creating-a-personal-access-token
git status:用于查看在工作目录和暂存区之间发生更改的文件,以及在暂存区和仓库中发生更改的文件。
git diff:用于检查工作区和暂存区之间的更改差异
git diff <文件名>:用于检查特定文件的更改差异
git diff –staged:用于检查暂存区和仓库之间的更改差异(差异的简称)
git log: 显示提交历史,显示提交1和提交2的更改历史。
git rm <文件>:删除文件
git rm <目录>:删除目录
git rm –cached <文件名>:只想从本地存储库中删除
git reset:
git remote -v: 显示设置的远程仓库信息
git remote show <远程名称>: 显示比git remote更详细的信息
git remote add <远程名称> <远程URL>: 创建一个新的远程仓库。可以通过<远程名称>将文件上传或下载到远程仓库,并且可以注册两个远程仓库,以便个人和公司分开管理。
git fetch <远程名称>: 从远程仓库获取分支到本地仓库。通常使用fetch!(获取远程仓库的内容)
git合并<远程名称>:将本地存储库合并到工作目录中。
git合并<分支名称>:
git合并<远程名称/分支名称>:
git checkout <分支名>:切换分支
git -a:显示所有分支
git pull <远程名><分支名>:获取并合并
使用 fetch 和 pull 的区别:一般情况下使用 fetch!
git remote rename <旧远程名><新远程名>:重命名远程名
git remote rm <远程名>:删除远程
创建一个名为<分支名称>的分支(不切换到该分支)
显示分支列表
显示所有分支(包括远程分支)
git checkout <既存分支>:切换到现有分支
git checkout -b <新分支>:创建并切换到新分支
合并分支<ブランチ名>:
合并分支<リモート名/ブランチ名>:
只需要一种选择:
git branch -m <分支名>:更改当前工作分支的名称
git branch -d <分支名>:删除分支
git branch -D <分支名>:强制删除分支
将分支的基准提交移动到另一个提交,改变父子提交关系。
git stash:将工作区和暂存区的修改存储到stash中,然后切换到另一个分支(stash意为隐藏)
git stash list:显示已存储的工作列表
git stash apply:恢复最新的工作
git stash apply –index:恢复暂存区的状态
git stash drop:删除最新的工作
git stash drop <stash名称>:删除特定的工作
git stash clear:删除所有工作
git diff :查看工作目录与暂存区的变更差异
git diff <文件名>:查看特定文件的变更差异
git diff –staged :查看暂存区与代码仓库的变更差异(difference的缩写)
刪除在本地儲存庫中的特定檔案,指令為 git rm –cached <檔案名>。
git重置:
词汇表
分支:提交后,指向的提交文件将发生变化。它是一个记录着提交ID的指针。
HEAD:指向当前工作中的分支的指针。
合并:将其他人的更改内容合并进来的操作。
冲突:在同一文件的同一行上进行不同编辑时发生的情况。
拉取请求:
远程分支:指向远程分支状态的指针。以<远程>/<分支>的形式引用(git fetch)。
Gitflow:
重置:将基础提交更新为新的提交。
暂存:当不想在工作中间提交但需要在另一个分支上工作时,进行临时存储。
Git流程
进行中
通过远程添加,可以将git命令中的origin用作名为origin的名称来使用。
通过git branch -M main master将分支更改为main。
通过git push -origin main将main推送到origin(已注册的url)。
-u选项:将指定的远程仓库分支设置为上游分支。
通过设置为上游分支,可以在使用git push时省略远程仓库名称和分支名称。
即只需使用git push即可进行推送。
建立一个空的远程仓库。
将本地构建的仓库进行推送。
分叉
派生功能从主要功能派生出来
分叉的原因:
主要功能停止维护
由于开发方针的差异而分离
与克隆的区别:
分叉后的页面会显示原始分叉源
可以从原始分叉源跳转到分叉后的存储库
拉取请求: 为了将更改合并到项目中而发出的请求(拉取操作用于合并更改)。
GitActions:
在Push等时机下,可以在Github上执行任意命令
将构建并将成果物自动发布到网站
持续集成(CI):自动化测试
持续交付(CD):自动将成果物部署到生产环境
分支模型:
1. Git-flow
2. GitHub flow
創建一個分支,做一些提交,然後發起拉取請求。
在分支的拉取請求上對代碼進行評論,並添加一些提交,最後進行合併。
在容器中引用主机上的文件或目录