【Git】使用教程

Git 使用教程

来源于廖雪峰老师的 Git 教程

链接:廖雪峰 - Git 教程


一、分支管理


1、创建与合并分支

  1. git checkout 命令加上 -b 参数表示创建并切换

    git checkout -b dev // 创建并合并分支
    git checkout -b dev -> git branch dev + git checkout dev

  2. git branch 命令会列出所有分支,当前分支前面会标一个 * 号

    git branch

  3. git commit 用于提交分支

    git commit -m "需要提交的分支"

  4. git merge 用于合并指定分支到当前分支

    git merge "需要合并的分支"

  5. git branch -d 用于删除指定分支

    git branch -d "需要删除的分支"

合并后,就可以将分支进行删除


小结

命令 解释
git branch 查看分支
git branch <name> 创建分支
git checkout <name> 或者 git switch <name> 切换分支
git checkout -b <name> 或者 git switch -c <name> 创建+切换分支
git merge <name> 合并某分支到当前分支
git branch -d <name> 删除分支

2、解决冲突

  1. git status 用于查看状态

    git status

当 Git 无法自动合并分支时,就必须首先解决冲突。解决冲突后,再提交,合并完成。

解决冲突就是把 Git 合并失败的文件手动编辑为我们希望的内容,再提交。

  1. git log --graph 命令可以看到分支合并图。

  2. git stash 用于分支管理策略

    git stash // 把当前工作现场"储藏"起来
    git stash pop
    git stash list
    git cherry-pick 4c805e2


小结

  1. 修复bug时,我们会通过创建新的bug分支进行修复,然后合并,最后删除;
  2. 当手头工作没有完成时,先把工作现场git stash一下,然后去修复bug,修复后,再git stash pop,回到工作现场;
  3. 在master分支上修复的bug,想要合并到当前dev分支,可以用git cherry-pick 命令,把bug提交的修改"复制"到当前分支,避免重复劳动。

3、多人协作

复制代码
git remote
git remote -v // 更详细
git push origin master
git pull

小结

● 查看远程库信息,使用git remote -v;

● 本地新建的分支如果不推送到远程,对其他人就是不可见的;

● 从本地推送分支,使用git push origin branch-name,如果推送失败,先用git pull抓取远程的新提交;

● 在本地创建和远程分支对应的分支,使用git checkout -b branch-name origin/branch-name,本地和远程分支的名称最好一致;

● 建立本地分支和远程分支的关联,使用git branch --set-upstream branch-name origin/branch-name;

● 从远程抓取分支,使用git pull,如果有冲突,要先处理冲突。

4、Rebase

● rebase操作可以把本地未push的分叉提交历史整理成直线;

● rebase的目的是使得我们在查看历史提交的变化时更容易,因为分叉的提交需要三方对比。


二、标签


1、创建标签

首先,切换到需要打标签的分支上。

复制代码
git tag v1.0
git tag // 查看标签
git tag v0.9 f52c633 // 给指定的提交打标签
git show v0.9 // 查看标签信息
git tag -a v0.1 -m "balabal..." 1094adb // 创建带有说明的标签

标签总是和某个commit挂钩。如果这个commit既出现在master分支,又出现在dev分支,那么在这两个分支上都可以看到这个标签。

2、操作标签

如果标签打错了,可以进行删除

复制代码
git tag -d v0.1

因为创建的标签都只存储在本地,不会自动推送到远程。所以,打错的标签可以在本地安全删除。

如果要推送某个标签到远程,使用命令git push origin

或者,一次性推送全部尚未推送到远程的本地标签:git push origin --tags

如果标签已经推送到远程,要删除远程标签就麻烦一点,先从本地删除:

复制代码
git push origin --tags -> git push origin :refs/tags/v0.9

小结

● 命令git push origin 可以推送一个本地标签;

● 命令git push origin --tags可以推送全部未推送过的本地标签;

● 命令git tag -d 可以删除一个本地标签;

● 命令git push origin :refs/tags/可以删除一个远程标签。

相关推荐
果子火火1 小时前
Git clone couldn‘t connect to server
git
skywalk81632 小时前
github创建项目后,应该用main还是master作为默认branch?
git·github
正经教主2 小时前
【Git】Git07:GitHub desktop使用教程【可选】
git·github
5***a97517 小时前
Git虚拟现实案例
git·vr
牛奔18 小时前
git 清理未跟踪文件
git
摇滚侠21 小时前
VsCode 自带的 Git 使用教程
ide·git·vscode
H***997621 小时前
Git物联网案例
git·物联网
g***B7381 天前
Git版本控制工具对比
git
weixin_456904271 天前
Git大文件管理与版本回退
大数据·git·elasticsearch