最新公告
  • 欢迎您光临起源地模板网,本站秉承服务宗旨 履行“站长”责任,销售只是起点 服务永无止境!立即加入钻石VIP
  • 记录一下对Git的使用

    正文概述 掘金(别再找借口c)   2021-04-02   784

    前言


    最近找工作的时候简历有写到熟练使用Git操作,其实经常使用的是小乌龟,Git命令什么样子的有点忘记了,好吧,自己写个文章记录一下,加深一些印象。

    Git介绍

    首先我们要知道Git是分布式版本控制系统(简单了解即可,详细可以去看未文提供的链接,liaoxuefeng大神写的是针不戳)。

    分布式和集中式区别:

    集中式版本库式集中存放在中央服务器上,而分布式个人电脑里有完整的版本库。

    Git下载安装

    https://git-scm.com/downloads 可以直接搜一下,下载好了没有特别需求一路回车安装即可。

    Git配置
    • 配置Git密令
    1. 打开GitBash命令行,输入 ssh-keygen 然后一路回车,生成的密令会保存当前系统用户的.ss目录中
    2. 登录GitHub,点击setting选项,然后选择 SSH Keys 菜单,将生成的ssh公钥(系统用户的.ss目录下的.pub结尾的文件)用笔记本打开,并将内容粘贴辅助到Key的输入项中,点击Add Key按钮则添加成功
    3. 每次本地向GitHub仓库提交代码的时候,需要输入账号和密码,确认是本人才做才能提交。每次都这么操作比较麻烦,因此我们通过ssh协议配置一个key,每次访问GitHub不需要再输入账号和密码
    • git config

    git提供了一个叫做git config的工具,专门用来配置或读取相应的工作环境变量。
    我们可以用它来配置个人用户名和电子邮箱地址(提交代码时的用户信息)。

    这里我插一嘴啊,有的人可能会发现自己提交到github上代码了却没有贡献度,那么原因很可能就是你本地配置的邮箱和github上的邮箱不一致导致的。

    git config --global user.name xxx
    git config --global user.email xxx@163.com

    使用 --global 更改的全局配置,修改后所有的项目都会默认使用这里配置的用户信息

    • 查看配置信息

    git config --list

    • 也可以直接查看某环境变量的设定,eg:

    git config user.name

    Git工作流程

    记录一下对Git的使用

    Git操作流程图

    先分析一下这个图哈:

    • Remote 远程仓库

    • Repository 版本库: 工作区有一个隐藏的目录.git,这个就是Git的版本库

    • Index/Stage 暂存区: 英文名字叫stage或index。一般存放在.git目录下的index文件中。所以暂存区我们有时也叫做索引(Index)

    • workspace 工作区: 就是我们工作电脑上写代码的目录

    简单说明一下这个图吧,都是离不开的命令:
    git fetch 从远端代码同步到暂存区
    git clone [repo][directory] 从现有的Git仓库中拷贝项目
    repo: Git仓库
    directory:本地目录 (克隆到指定目录可以使用该参数)
    git checkout 切换分支,可以使用该命令创建新分支到工作区
    git pull 下拉远端代码到本地仓库
    git add 添加文件到暂存区
    git commit 将暂存区内容添加到版本库(当前分支)
    git push 将版本库代码同步到远端

    这里记录一些三个区之间的一些常用操作
    git checkout -- [filename] 撤销未add的文件
    git reset HEAD [filename] (老版)将暂存区文件恢复到工作区(将add的文件恢复成未add的样子)
    git restore --staged [filename] (新版)将暂存区文件恢复到工作区(将add的文件恢复成未add的样子)
    git reset --hard HEAD^ 回退到上一次提交 !!!!(看一下历史记录,看一下操作后如何回退)
    git reset --hard HEAD~n 回退n次操作
    git reset --hard 3628164 回退到commit id为3628164的版本
    git reflog 用来记录你每一次的命令(找不到commit id的时候可以使用)

    Git工作必读

    git 工作流

    feature 特性分支,用于平时代码开发
    master 主分支,开发人员无权限操作
    release 发版分支,也就是上线分支了喽
    hotfix 紧急bug修改,发版分支有bug,需要从hotfix分支上分化一个分支来修改bug,测试无误后再合并到hotfix分支上

    先有本地库,再有远程库
    1. git init 初始化仓库
    2. 创建本地项目,写代码
    3. 创建远端仓库
    4. git add . 添加代码到暂存区
    5. git commit -m 'first commit' 添加一条commit记录
    6. git remote add origin xxx 将本地仓库与远程仓库关联
    7. git push -u origin master 推送当前master分支,并指定origin为master的上游。你直接push的话会报错the current branch dev has no upstream branch,意思是说你当前分支没有上游分支。你可以先通过git branch -a查看当前本地分支信息,如果没有推送,只有一个孤独的master分支,当你通过-u推送过后再次查看,这时分支信息就会变成remotes/origin/master
    直接从远端拉取代码
    |——1、git clone XXX  // 代码克隆  
    |——2、查看分支  
        |——git branch -a // 查看所有分支  
        |——git branch // 查看当前使用分支(结果列表前面标*的表示当前使用分支)  
    |——3、切换分支  
        |——git checkout -b dev master // 从master分支分化一个新分支dev(以master分支为基础),并切换到dev分支上去  
        |——git checkout -b dev 是以当前所在分支为基础创建的新分支  
    |——4、代码提交  
        |——git status // 查看工作区的未提交代码  
        |——git add ./  // 将当前文件夹下的文件添加到暂存区  
        |——git commit -m '提交测试内容' // 给本次提交代码添加一条记录,就是将暂存区中的代码提交到本地所在分支  
        |——git push -u(新建分支第一次推送需要加 -u) origin dev // 将本地分支代码推送到远端的同时创建连接  
    |——5、合并分支  
        |——git merge master dev // 将dev分支合并到master分支上  
        |——git checkout master + git merge dev // 切换到master分支,再讲dev分支合并到master分支上  
    |——6、删除分支  
        |——git branch -d dev // 合并无误后可以删除dev分支(删除本地分支)  
        |——git push origin --delete dev  // 删除远端dev分支  
    
    冲突处理

    不知道大家什么样子,我个人平时会经常用小乌龟,确实很方便

    假设现在我们写好本地代码了,这时候不要着急,首先看一下你当前操作的分支是否还有其他人改动,如果有,甚至还修改了同一个文件的代码,那么很可能会冲突。这里说一下小乌龟的使用吧,同样适用于Git命令。

    1. 执行Stash Save 将本地代码修改存储到堆栈中,恢复到未开发的状态,这里需要添加一条记录。根据小乌龟版本不同,命令也可能是Stash changes
    2. 下拉代码,Pull一下
    3. Stash Pop 取出堆栈中的代码,将pull下来的代码和之前本地开发代码进行合并,也是为了在本地处理冲突。如果有冲突,小乌龟会给你将有冲突的文件标红,打开标红文件进行冲突处理。
    4. 冲突解决后,执行git Commit 添加一条commit记录
    5. Push 提交代码

    Git常用命令

    Git基本操作

    git init 初始化仓库,将当前目录作为Git仓库。执行后会生成一个隐藏的.git目录。
    git clone 克隆远程仓库
    git pull 下拉远端代码到本地仓库
    git fetch 从远端代码同步到暂存区,我一般直接用git pull,出现冲突也可以手动merge git merge 合并分支 git status 查看仓库当前状态,显示有变更的文件
    git add 添加文件到暂存区
    git commit 将暂存区内容添加到版本库(当前分支)
    git push 将版本库代码同步到远端
    git checkout 切换分支
    git log 查看历史提交记录
    git cherry-pick <commit_id> 将指定提交commit合并到当前分支 git stash 将工作区文件修改暂存到堆栈中
    git stash pop 将之前暂存到堆栈中的文件恢复到工作区

    Git分支管理

    git branch查看分支
    git branch [branchname]创建分支
    git checkout [branchname] 切换分支
    git checkout -b [branchname1] [branchname2] 从branchname2分支分化一个新分支branchname1v,并切换到branchname1分支上去
    git checkout -b [branchname] 从当前所在分支创创建并切换到该新分支
    git merge [branchname] 将branchname分支合并到当前分支
    git branch -d [branchname] 删除本地分支
    git push origin --delete [branchname] 删除远端分支
    git cherry-pick <commit>将特定提交合并到当前分支

    Git标签

    git tag -a v1.0.0 给最新一次提交打上(HEAD)v1.0.0的标签,一般用来标记发布版本
    git tag -a v1.0.1 1cf2de5 给发布提交的 1cf2de5 追加标签。
    git tag 查看所有标签

    参考

    • Git教程
    • 常用Git命令清单
    • 三年Git使用心得
    • 优雅的提交你的Git Commit Message
    • 详解git pull和git fetch
    • git stash命令用法

    最后


    • 如果遇到什么问题就留言吧,能解决大家帮忙一起解决一下
    • 文章是自己手敲,是对工作日常的总结,如有错误之处,敬请指正

    起源地下载网 » 记录一下对Git的使用

    常见问题FAQ

    免费下载或者VIP会员专享资源能否直接商用?
    本站所有资源版权均属于原作者所有,这里所提供资源均只能用于参考学习用,请勿直接商用。若由于商用引起版权纠纷,一切责任均由使用者承担。更多说明请参考 VIP介绍。
    提示下载完但解压或打开不了?
    最常见的情况是下载不完整: 可对比下载完压缩包的与网盘上的容量,若小于网盘提示的容量则是这个原因。这是浏览器下载的bug,建议用百度网盘软件或迅雷下载。若排除这种情况,可在对应资源底部留言,或 联络我们.。
    找不到素材资源介绍文章里的示例图片?
    对于PPT,KEY,Mockups,APP,网页模版等类型的素材,文章内用于介绍的图片通常并不包含在对应可供下载素材包内。这些相关商业图片需另外购买,且本站不负责(也没有办法)找到出处。 同样地一些字体文件也是这种情况,但部分素材会在素材包内有一份字体下载链接清单。
    模板不会安装或需要功能定制以及二次开发?
    请QQ联系我们

    发表评论

    还没有评论,快来抢沙发吧!

    如需帝国cms功能定制以及二次开发请联系我们

    联系作者

    请选择支付方式

    ×
    迅虎支付宝
    迅虎微信
    支付宝当面付
    余额支付
    ×
    微信扫码支付 0 元