Git 基本操作及原理
git共有4个空间,如上图所示,分别是
- 工作区
- 暂存区
- 本地仓库
- 远程仓库
git add
将文件或目录添加到暂存区
git commit
将文件或目录提交到本地仓库
git push
将本地仓库推送到远程仓库
git pull
拉取远程仓库代码到工作区
git checkout
切换分支
git fetch
拉取远程仓库代码到本地仓库
Jetbrains 系列ide的文件名颜色分别表示什么状态?
绿色,已经加入控制暂未提交
红色,未加入版本控制
蓝色,加入,已提交,有改动
白色,加入,已提交,无改动
灰色:版本控制已忽略文件。
rebase 后想退回之前的版本怎么办
场景:从远程仓库拉取到本地并rebase后发现,远程代码有错误不想要了,想回到之前的commit版本
可以git reflog
打印出提交的版本号列表
找到想要的版本号,并使用git reset --hard <版本号>
重置到对应版本
此时HEAD指针指向对应版本号,项目退回到自己想要的版本了。
想把某个分支上的单个commit同步到另一个分支
场景:在某个分支上做了一次提交后,发现这个提交最好同步到另外一个分支。
-
使用
git log
查看commit id -
使用
git checkout
切换到目标分支 -
使用
git cherry-pick <commit id>
将某次提交同步至目标分支 -
git push
推送至远程分支
提交注意事项
单独需求的开发分支,在推送到远程分支之前,最好在git.oa上提出merge request,
不要直接rebase到主分支上,代码本地编译验证无误后,再merge至远程分支