Git的组成
- 远程仓库(Remote):在远程用于存放代码的服务器,远程仓库的内容能够被分布其他地方的本地仓库修改
- 本地仓库(Repository):在自己电脑上的仓库,平时我们用git commit提交到暂存区,就会存入本地仓库
- 暂存区(Index):执行git add 后,工作区的文件就会被移入暂存区,表示哪些文件准备被提交,当完成某个功能后需要提交代码,可以通过git add先提交到暂存区
- 工作区(Workspace):工作区,开发过程中,平时敲代码的地方,看到是当前最新的修改内容
Git的基本使用场景
以下命令远程主机名默认为==origin==,如果有其他远程主机,将==origin==替换为其他即可
git fetch
# 获取远程仓库特定分支的更新
git fetch origin <分支名>
# 获取远程仓库所有分支的更新
git fetch --all
复制代码
git pull
# 从远程仓库拉取代码,并合并到本地,相当于git fetch && git merge
git pull origin <远程分支名>:<本地分支名>
# 拉取后,使用rebase的模式进行合并
git pull --rebase origin <远程分支名>:<本地分支名>
复制代码
注意:
- 直接git pull不加任何选项,等价于==git fetch + merge FETCH_HEAD==,执行效果就是会拉取所有分支信息回来,但是只合并当前分支的更改。其他分支的变更没有执行合并。
- 使用git pull –rebase可以减少冲突的提交点,比如我本地已经提交,但是远程其他同事也有新的代码提交记录,此时拉取远端其他同事的代码,如果是merge的形式,就会有一个merge的commit记录。如果用rebase,就不会产生该合并记录,是将我们的提交点挪到其他同事的提交点之后。
git branch
# 基于当前分支,新建一个本地分支,但不切换
git branch <branch-name>
# 查看本地分支
git branch
# 查看远程分支
git branch -a
# 删除本地分支
git branch -D <branch-name>
# 基于旧分支创建一个新分支
git branch <new-branch-name> <old-branch-name>
# 基于某提交点创建一个新分支
git branch <new-branch-name> <commit-id>
# 重新命名分支
git branch -m <old-branch-name> <new-branch-name>
复制代码
git checkout
# 切换到某个分支上
git checkout <branch-name>
# 基于当前分支,创建一个分支并切换到新分支上
git checkout -b <branch-name>
复制代码
git add
# 添加当前工作区修改的文件添加到暂存区,多个文件可以用空格隔开
git add XXX
# 添加当前工作区修改的所有文件到暂存区
git add .
复制代码
git commit
# 提交暂存区中的所有文件,并写下提交的概要信息
git commit -m "信息"
# 相等于git add . && git commit -m
git commit -am
# 对最近一次的提交信息进行修改,此操作会修改commit 的hasn值
git commit --amend
复制代码
git push
# 推送提交到远程仓库
git push
# 强行推送到远程仓库
git push -f
复制代码
git tag
# 查看所有已打上的标签
git tag
# 新增一个标签打在当前提交点上,并写上标签信息
git tag -a <version> -m "message"
# 为指定提交点打上标签
git tag -a <version> <commit-id>
# 删除指定标签
git tag -d <version>
复制代码
© 版权声明
文章版权归作者所有,未经允许请勿转载。
THE END