Git基础
Git是版本控制软件的一种。
Git里比较重要的概念:
-
工作区与暂存区 ref1
工作区和暂存区可先考虑为:工作所在的目录即为工作区,通过
git add xxx_file
将xxx_file
添加到暂存区 -
分支 branch ref2
分支是为了版本管理而诞生,不同的分支可能保存了针对不同功能而修改的代码文件,这样我们只需要切换分支,来切换到不同的功能任务下
-
远程端仓库与本地端仓库 ref3
对于远程端/本地端的 Git 仓库而言,它们都可以有多个不同的分支(branch,下同),我们在进行本地端与远程端代码进行拉取(pull)/推送(push)操作时,实际是针对于 branch 的操作,但这之前需要确保两个不同端的 branch 有关联。
Git常用操作
-
克隆远程仓库
xxx_remote
master分支到本地仓库(默认在本地仓库新建master分支并与远程master分支关联)git clone https://github.com/xxx_remote/xxx.git
-
查看当前状态
git status
-
把修改添加到暂存区
git add xxx_file
-
把暂存区保存的修改提交到本地分支
git commit -m "xxx_commit_message"
-
查看当前所在分支
git branch
-
新建本地分支并切换过去
git checkout -b xxx_branch
-
切换分支
git checkout xxx_branch
-
将本地分支推送到远程分支
git push
当远程仓库 master branch 代码更改
场景: 远程仓库 master branch 保存公共代码库,其对部分代码更改,我们需要把这些更改添加到我们的分支中
以下操作均为在本地仓库操作
-
首先将分支切换到master分支(关联关系:本地/master --> 远程/master)
git checkout master
-
将远程master的代码pull到本地(本地/master 已经update最新代码)
git pull
-
将分支切换到本地开发分支
xxx_branch
(xxx_branch 保存的代码还是老版本)git checkout xxx_branch
-
基于
master
的重基(rebase)操作 ref4git rebase -i master
此时会弹出
git-rebase-todo
文件,里面包含了基于老版本 master 所有的 commit,我们选择保留/舍弃/合并的commit 关闭该文件即可继续进行 rebase 操作,当有冲突时请解决冲突。 -
rebase完毕后将最新修改推送到远端
git push
个人建议
对不了解Git的同学,可尝试先在自己的Github账户里进行动手实验,这些操作的学习路径应该是:
- 单个分支下的
add commit push pull
操作,建立起远程仓库与本地仓库的概念 - 多分支下的
checkout
操作,建立多分支的概念,并理顺分支之间的关系 - 多分支之间的
merge rebase
操作,了解版本控制的过程 - ...
参考
更多内容参考本人博客:老香椿(https://laoxiangchun.cn/2020/05/30/Git/how-to-use-git/)