Git小白入门|青训营笔记
这是我参与[第四届青训营]笔记创作活动的第1天
前言
最近在团队合作过程中使用Git遇到了许多问题,借此机会打算恶补一下Git的基础知识📖
对于Git的常用操作,下面这张图非常到位👍
基本概念
基于上图,我们先来一个个解释一下它们的基本概念⬇️
- workspace(工作区) :项目所存放文件夹的位置,也是经常改动的地方
- Staging area/Index(暂存区) :暂时存放项目文件的区域,在使用git init文件时就会在这个文件内生成一个.git文件(版本库),在.git中包含两部分,其中一个就是暂存区,我们通常使用git add将工作区文件添加到暂存区中;
- local repository(本地仓库) :存放项目文件的git本地仓库文件夹,位于自己的电脑上,通过git commit命令将暂存区的文件存放到本地仓库;
- remote repository(远程仓库) :用来托管项目文件的服务器(Github,Gitee...),可以被分布在多个地点的协同工作者修改。通过git push将本地仓库中的修改代码同步到远程仓库
配置操作
首先,在正式使用Git之前,我们必须先配置好Git的全局设置
#设置全局配置信息
git config --global user.name "你的名字"
git config --global user.email "你的电子邮箱"
#设置本地仓库的配置信息
git config --local user.name "你的名字"
git config --local user.email "你的电子邮箱"
#查看全局、本地、系统配置信息
git config --global --list
git config --local --list
git config --system --list
#删除全局、本地配置信息
git config --unset --global 配置项
git config --unset --local 配置项
配置好了这些信息后,我们就可以正是进入git的核心操作部分
分支管理
简单的向大家介绍一下常用分支操作
#创建分支
git branch 'branch_name'
#从当前分支切换到其他分支
git checkout 'branch_name'
#删除分支
git branch -d 'branch_name'
#合并指定分支
git merge 'branch_name'
#查看分支合并与未合并情况
git branch --merged 或者 --no-merged
#查看所有分支
git branch
远端交互
在团队合作开发的过程中,我们常常会将项目文件托管到第三方平台,方便大家协同开发,提高效率,因此熟练掌握git 的远端交互命令就颇为重要。
#查看所有远端仓库
git remote -v
#添加远端仓库
git remote add URL
#删除远端仓库
git remote remove 'remote_name'
#重命名远端仓库
git remote rename 'old_name' 'new_name'
#将远端分支的变更同步到本地,且merge到本地分支
git pull origin 'branch_name'
#将本地分支 push 到远端
git push origin 'local branch_name'
#删除远端分支
git push remote --delete 'remote_branch_name'
标签
在合作开发过程中,常常会存在多个提交,为了更好的方便开发者查阅这些提交信息,为此git提供了一个标签功能,将提交的记录打上一个标签来表示不同时期提交记录。
git支持两种标签:轻量标签(lightweight)和附注标签(annotated)
- 轻量标签(lightweight)是指向提交对象的引用
#创建附注标签
git tag -a 'tag_name' -m '备注信息'
- 附注标签(annotated)是仓库内的一个独立对象,拥有标签者的信息
#创建轻量标签
git tag 'tag_name'-lw
更多标签操作
#给指定的commit打标签
git tag 'tag_name' commitid
#向远端推送本地标签
git push origin 'tag_name'
#向远端同步标签
git push origin --tags
#删除本地标签
git tag -d 'tag_name'
#删除远端标签
git push origin :refs/tags/'tag_name'
日志管理
协同开发人员需要经常提交一些代码去修复bug或者实现新的功能,而项目中的文件和实现什么功能、解决什么问题都会渐渐淡忘,最后需要浪费时间去阅读代码。但日志却能帮助我们节省大量的时间。掌握git 日志命令对开发拥有着巨大作用。
#查看历史操作记录
git reflog
#查看所有的日志
git log
git log --oneline
#用图显示所有分支的历史
git log --oneline --graph --all
#查看指定文件的所有commit
git log '文件'
#查看文件各行最后修改的commit以及作者
git blame '文件'
fetch指令与pull指令
fetch指令是将远程仓库的最新内容拉到本地仓库,在用户对其检查后再决定是否合并到工作区中;
pull指令将远程仓库的最新内容拉下来后直接合并,可能会导致产生合并冲突,需要自手动解决;
clone指令适用于本地没有代码,你要下载。你连不连接远程仓库。有无仓库权限皆可。
#将远程仓库的更新全部取回本地
git fetch <远程主机名>
#从远程仓库取回特定分支的更新
git fetch <远程主机名> <分支名>
#将远程仓库的某个分支的更新取回,并与本地指定的分支合并
git pull origin <远程分支名>:<本地分支名>
#本地没有代码,从其他远程仓库拉取代码
git clone URL
基本操作
有了上面的git基础知识,接下来我们就来实操一下吧
- 创建本地仓库并初始化
git init
- 链接本地仓库与远程仓库
git remote add origin url
- 配置相关信息并检查
git config --global user.name "yourname"
git config --global user.email "your_email"
git config --list
- 查看远端仓库信息
git remote -v
- 提交暂存区,再提交到本地仓库
git add . / git add '指定文件'
git commit -m '修改信息'
- 最后提交远程仓库
git push origin 'remote_branch_name':'local_branch_name'
注意
第一次使用git的用户并托管代码时,需要两大步骤(可参考这篇超详细的文章)
- 生成密钥对
- 设置远程仓库上的公钥
写在最后
这是本人第一次用掘金写的一篇博客笔记,希望各位大佬多多指教,写的不对就请大家指出,有疑问的同学也可以在评论区提出,大家一起进步💪💪
参考及Git学习资源
「备忘录」60+Git常用命令行 - 掘金 (juejin.cn)
git基本操作,一篇文章就够了! - 掘金 (juejin.cn)