相关材料
常用命令
仓库的初始化
本地创建新的仓库
1 | 新建一个git仓库,运行完后会在当前目录下生成一个.git 目录 |
从远程仓库中拉取一个仓库到本地
完成秘钥配置后,可以将gitlab上的项目下载到本地进行部署
1 | git clone remote-repertor(https://github.com/libgit2/libgit2) local—repertory(可以省了默认保持原仓库名称) |
完成项目到本地的传输后,可以进行相应的安装或使用,git clone仅能用于将远程项目初始化到本地(从无到有)不支持后续的更新同步
下载更新
作为多人版本协作,会有不同的人同时对项目进行更新,所以有时候会有需求将他人的更新同步到本地流程中,使用 git pull命令
- 正规流程
1 | git status(查看本地分支文件信息,确保更新时不产生冲突) |
- 快速流程
1 | 上面是比较安全的做法,如果你可以确定什么都没有改过只是更新本地代码 |
- 获取所有分支
一般情况,我们也许只对主分支感兴趣,但是有时候,我们可能会需要获取所有的分析版本,来进行一些代码的核验或者代码的确认,
1 | git branch -r | grep -v '\->' | while read remote; do git branch --track "${remote#origin/}" "$remote"; done |
版本管理
提交更新
提交更新主要分三个部分,1,更新提交到本地暂存区;2.更新到本地版本库;3.推送更新。
1 | git add file.name #将更新的文件提交到本地的缓存区; |
添加tag
像其他版本控制系统(VCS)一样,Git 可以给仓库历史中的某一个提交打上标签,以示重要。 比较有代表性的是人们会使用这个功能来标记发布结点( v1.0 、 v2.0 等等)。
1 | 列出标签 |
查看本地的版本记录
1 | 查看版本更新日志 |
比较两个版本之间的区别
1 | 查看任意两个版本之间的改动: |
对本地版本进行更改
1 | git reset gitversion filename# 撤销提交缓存区的偶作 |
–hard 不保存所有变更
–soft 保留表更且变更内容处于staged
–mixed 保留biang且变更内容处于modified(默认)
对特定文件进行管理 - 恢复修改的文件
- 只修改了文件,没进行任何git操作
1 | 只是修改了文件,没有任何 git 操作,直接一个命令就可回退: |
- 修改了文件,并提交到暂存区(即编辑之后,gitadd但没有 git commit -m ….)
1 | git log --oneline # 可以省略 |
- 修改了文件,并提交到仓库区(即编辑之后,gitadd和 git commit -m ….)
1 | git log --oneline # 可以省略 |
分支管理

1 | 列出分支命令: |
比较两个分支
1 | 显示出branch1和branch2中差异的部分 |
远程仓库操作
1 | 克隆一个已有的远程git仓库 |
Patching
有记录的进行版本回退。
1 | Given one or more existing commits, revert the changes that the related patches introduce, and record some new commits that record them. |
merge
整个分支的merge
merge操作时,默认是将整个分支的更改合并到当前分支中。
1 | git merge |
git merge
merge其他分支的某个commit
首先在开发分支上获取要合并commit的commitID,
1 | git log --oneline |
然后切换到目标分支进行merge
1 | git checkout main # 切换到要进行修改的分支 |