git使用心得
git是一个常用的版本控制工具,本文旨在记录自己学习git的命令操作
参考文献:https://mp.weixin.qq.com/s/Km5KuXPETvG0wCGHrvj9Vg
这里简要列出常用的git命令,方便查看,之后将详细记录每条指令的使用方式
| op | 描述 |
|---|---|
| git init | 在当前目录新建一个Git代码库 |
| git status | 查看整个仓库状态(本地) |
| git add FILES | 将FILES添加到暂存区 |
| git add . | 将当前目录下全部文件添加到暂存区 |
| git reset FILES | 暂存区删除FILES |
| git reset . | 暂存区删除当前目录下全部文件 |
| git checkout -- FILES | 从暂存区检出FILES到工作区(会覆盖工作区) |
| git checkout . | 从暂存区检出所有文件到工作区(会覆盖工作区) |
| git commit -m "log info" | 暂存->版本仓库,并添加标注信息 |
| git log | 查看提交日志 |
| git reset —hard 版本信息 | head回退版本 |
| git reflog | 查看HEAD之后的提交记录 |
| git reset —hard | 回到未来 |
| git remote | 列出已经存在的远程分支 |
| git remote -v | 在每一个名字后面列出其远程url |
| git fetch | 抓取远程到本地 |
| git push | 本地更新到远程 |
| git merge | 合并两个或多个历史记录 |
| git pull | 从其他存储库或分支抓取并合并到当前存储库的当前分支 |
| git checkout -b 分支名称 | 创建分支 |
| git branch | 查看所有分支 |
| git checkout 分支名 | 切换到指定分支 |
| git rebase -i [startpoint] [endpoint] | 整理后提交 |
| git rebase --abort | 撤销rebase |
一、git的基本操作
之前已经安装过git,直接在新文件夹下打开git bush
初始化本地版本库
查看当前版本库的状态
可以看到,当前版本只有一条主master,并且当前没有任何提交
在本地创建README.md文件
使用add提交到暂存区
可以看见有一个新文件:README.md
此时查看status,发现有一个“Changes to be committed”
将修改提交到版本仓库
使用log查看日志,可以看见刚才提交的信息,commit-id、auther、提交时间等
再次查看status,“nothing to commit, working tree clean”
二、git远程版本库的基本操作
使用码云创建一个远程版本仓库,并clone到本地
查看当前reomte
在当前工作区拉取和推送
三、团队项目中的分叉合并
创建新分支
可以看到,此时自动切换到新分支
可以使用checkout切换回主分支
合并分支,首先确保在master上,使用merge合并分支
使用--no-ff参数关闭"快进式合并"(fast-farward merge)
四、Git Rebase

要完成上图的操作,首先切换到刚才创建的分支mybranch上

先创建一个a文件,提交并标记为版本A

在创建一个b文件,提交并标记为版本B


可以看到此时的日志中mybranch分支有两个提交记录,并且HEAD指向B版本,matser还是原来的版本
使用git rebase -i HEAD^^打开编辑窗口

删除B版本一行的信息

添加一个c.txt变成c版本

删除A版本一行的信息

此时再查看日志信息,发现只有C版本的提交存在

切换回master

合并master和mybranch

此时查看log

HEAD指向master,合并的是mybranch的C版本,A和B只在mybranch中出现过,并没有出现在master中,符合题目要求
另外从gitee的提交记录上也可以看出只有c版本的修改被提交















浙公网安备 33010602011771号