【Git基本命令】

【基本指令】
git init :使目标文件夹变成一个仓库
git add <文件名,含后缀> : 告诉git我要添加文件了
git commit -m "<提交说明>" :向仓库提交add的文件,并且写一个小说明,可以add很多文件后一起commit
git log : 康康最近提交了啥,修改了啥,其中Head表示的是当前的版本,Head就是上个版本,Head^就是上上个版本,以此类推
git reset --hard HEAD^ :返回上一个版本(依据HEAD寻找)
git reset --hard <版本号> :依据版本号回退/复原,只需要输入版本号前几位就可以了,git会自己去找
git reflog : 得到命令记录
git status : 查看状态
git checkout -- <文件名> : 删除工作区的修改
git reset HEAD <文件名> : 删除缓存区的修改

【远程仓库push和clone】
SSH Key 相关内容 : https://www.liaoxuefeng.com/wiki/896043488029600/896954117292416
创建Github上面的仓库 : https://www.liaoxuefeng.com/wiki/896043488029600/898732864121440
git remote add origin git@github.com:<用户名>/<仓库名> :关联远程仓库(实在不行Github仓库那里有提示)

关联一个远程库时必须给远程库指定一个名字,origin是默认习惯命名;

git push -u origin master : push内容到远程仓库中去

由于远程库是空的,我们第一次推送master分支时,加上了-u参数,Git不但会把本地的master分支内容推送的远程新的master分支,还会把本地的master分支和远程的master分支关联起来,在以后的推送或者拉取时就可以简化命令

git push origin master : 关联后只要这样就可以push内容了
git remote -v :查看远程库信息
git remote rm <名字> : 解除远程库和本地库的关系
git clone git@github.com:<用户名>/<仓库名> : 从远程库克隆一份仓库到本地库

【分支】
git checkout -b <名字> :创建并切换到该分区,相当于这两条命令 ($ git branch dev $ git checkout dev)
git branch : 查看当前分支
git merge:将当前分支合并至X分支
git branch -d:删除X分支 , 使用大写的D可以强行删除还未成果完成合并的分支(当然,这类情况发生的时候,git会提醒你的)
下面的更新后的更科学的switch切换
git switch -c:创建并切换到该分区
git switch:切换到X分支

git merge --no-ff -m "xxxxxxxxx"在no-ff模式下进行合并

git stash :存储当前的工作并隐藏,可以在之后恢复
git stash list : 查看已存储的工作现场
git stash apply : 恢复,恢复后不会删除stash
git stash pop : 恢复,同时删除stash

这部分注意是用来处理bug的情况,详见廖老师的原教程 https://www.liaoxuefeng.com/wiki/896043488029600/900388704535136

【远程仓库与多人协作】
git remote : 查看远程库的信息,使用 git remote - v 可以查看详细信息
git push <远程库名/一般是origin> <分支名> :推送,比如$ git push origin master
在默认情况下,远程clone下来的项目只可以得到master(主分支)
git checkout -b <分支名> <远程仓库名>/<分支名> :建远程的某个分支到本地,比如 $ git checkout -b dev origin/dev
git pull : 抓取最新的提交(比如你和同伴同时在dev上修改,此时就需要先把提交pull下来,然后合并分支,再继续修改)

推送失败,因为你的小伙伴的最新提交和你试图推送的提交有冲突,解决办法也很简单,先用git pull把最新的提交从origin/dev抓下来,然后,在本地合并,解决冲突,再推送

这一部分可以详见廖老师的教程 https://www.liaoxuefeng.com/wiki/896043488029600/900375748016320

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

*git rebase : 使合并操作变“直”,感觉是不一定有必要的骚操作,廖老师教程:https://www.liaoxuefeng.com/wiki/896043488029600/1216289527823648

【标签】
Git的标签虽然是版本库的快照,但其实它就是指向某个commit的指针
git tag: 给对应的分支打上标签,name就是名字,默认是给HEAD打标签
git tag<commit码> :给对应的commit码的修改打上标签
创建带有说明的标签,用-a指定标签名,-m指定说明文字。比如$ git tag -a v0.1 -m "version 0.1 released" 1094adb
git tag : 查看所有标签
git show: 查看某个标签的信息

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

git tag -d:删除某个标签
git push origin:将某个标签推送至远程
git push origin --tags : 一次性推送所有尚未推送的标签

【结语】
七七八八也写了不少了,再次感谢廖雪峰老师的git教程!

总结相关 https://www.liaoxuefeng.com/wiki/896043488029600/900062620154944

来源:https://www.icode9.com/content-4-905601.html

(0)

相关推荐

  • Gitlab项目迁移

    开发的时候通常会有个基础版的项目代码,新开项目时可以以基础版进行开发. 然而在gitlab上不能直接以基础版的仓库来新建项目,所以需要我们通过命令行方式进行操作.   1.下载原有gitlab源码 g ...

  • Eclipse中git项目分支切换

    Eclipse中git项目分支切换

  • Git 基本工作原理图解

    本文图解Git中的最常用命令.如果你稍微理解Git的工作原理,这篇文章能够让你理解的更透彻. 基本用法 上面的四条命令在工作目录.暂存目录(也叫做索引)和仓库之间复制文件. git add files ...

  • GitKraken for Mac(跨平台的Git客户端)

    gitkraken for mac是一款很好用的跨平台的Git客户端,GitKraken Mac版可以使Git命令和流程变得简单.快速和直观,gitkraken主要为程序员们提供了一个强大专业的git ...

  • 搞!分享3个Git应用案例的骚操作,赶紧用!

    昨天活动没来的可以看这儿:搞了件大事!!! 例行每周末会给我们知识星球的小伙伴直播分享,前天分享的主题是<Git版本控制及应用案例>,不想看基础的可以拉到最后看案例,视频已上传钉钉.后台发 ...

  • 详细图解Git工作原理!

    本文图解 Git 中的最常用命令.如果你稍微理解 Git 的工作原理,这篇文章能够让你理解的更透彻. 编辑:jack-cui 基本用法 上面的四条命令在工作目录.暂存目录(也叫做索引)和仓库之间复制文 ...

  • 学会这 11 条,你离 Git 大神就不远了!

    仅做学术分享,如有侵权,联系删除 转载于 :作者: Escape 链接: https://www.escapelife.site/posts/f6ffe82b.html Git Flow 主干分支 稳 ...

  • 为什么Git把SVN拍在了沙滩上?

    Git和SVN是大家都比较熟知的版本管理,近几年Git越来越受到大家的喜欢. 下面就来分享下关于Git和SVN的内容.  Git vs SVN  Git 和 SVN 孰优孰好,每个人有不同的体验. 一 ...

  • 万字详解Git入门教程!

    前言 Git 是程序员学习和工作都离不开发工具,也是非程序员好用的文档版本管理工具,今天给大家带来了一篇干货教程,和大家分享 Git 常用命令总结. Git简介 Git 是一种分布式版本控制系统,它可 ...

  • 开发中的你的Git提交规范吗?

    开发中的你的Git提交规范吗?