git的常用功能(管理github仓库)
1、克隆github的仓库到本机机器
方式一:https方式:缺点:每次推送都要输入用户名和密码,
进入github网站,使用https方式,复制仓库地址,克隆远程仓库shiyanlou到本地机器
git clone 【仓库地址】
强烈推荐方式二:ssh方式:优点:推送时不需要输入用户名和密码
bash终端执行 ssh-keygen 命令按几次回车生成公私钥,公私钥存放在家目录下的隐藏目录 .ssh 中的两个文件中:
将 ~/.ssh/id_rsa.pub
文件中的公钥内容复制出来。这个文件在用户文件的.ssh位置
2、git init 将当前目录变成一个仓库
进入shiyanlou文件夹,执行git init, test就变成了仓库,多出了一个隐藏目录.git
git init
5、git remote -v 查看本地仓库所关联的远程仓库信息
由于现在没关联github上的仓库,所以什么不显示。
git remote -v
6、git remote 将本地的shiyanlou仓库关联到github的仓库
命令:
git remote add origin(可修改) 远程仓库地址
6、git status 查看整个仓库的状态:
git status
创建个test.txt,内容为hello world, 再执行git status, 提示
上图提示有test.txt文件未被跟踪
7、git add跟踪文件
使用git add [文件名]命令, 来跟踪test.txt,即将test.txt文件放入暂存区中,以备提交。
下图显示未提交(commit)
git add .
可以将工作区中所有的文件都放入暂存区中
8、git diff 查看跟踪文件的修改情况
git diff
,它可以用来查看工作区被跟踪的文件的修改详情,下面是修改test.txt文件,执行git diff,会出现绿色提示,即修改的部分
git diff --cached 查看暂存区的全部修改,即查看多个跟踪文件的修改情况
9、撤销暂存区的文件
如果撤销暂存区的单个文件,就执行 git reset -- [文件名] 或者 git rm --cached [文件名] 命令即可:
把命令写成 git reset -- 即可把暂存区的全部修改撤销。
10、git commit提交到版本库
执行 git commit -m '提交的标注'
命令生成一个新的提交,一个必须的选项 -m
用来提供该提交的备注:
提交后,暂存区的修改被清空
11、查看提交记录
执行 git log
查看提交记录,圈中的十六进制序列号就是提交版本号,这是很重要的信息,每个提交都有自己单独的版本号,就像公民身份证号一样:输入q退出:
观察上图的提交信息,提交版本是按时间倒序排列的,也就是最近的提交排在最上面,你可能需要查看时间正序排列的信息,那么可以使用 git log --reverse
命令。
12、git branch -avv,它用来查看全部分支信息:
上图有三行信息,依次说明:
第一行,开头的星号表示当前所在分支,绿色的 master 是分支名,之所以是绿色,也是因为它是当前所在分支。后面第二项是版本号,第三项中括号里面蓝色的字,表示此分支跟踪的远程分支的名字,当然啦,这也是克隆远程仓库到本地时的默认设置 -- 创建 master 分支并自动跟踪远程同名分支;冒号后面黑色文字表示本地分支领先其跟踪的远程分支一个提交。最后一项是提交时填写的备注信息。
第二行,是 Git 指针信息,它指向远程仓库的 master 分支,这行信息暂不重要。
第三行,远程分支信息,详见第一行的解释。
14、撤销提交
执行 git reset --soft HEAD^ 撤销最近的一次提交,将修改还原到暂存区。--soft 表示软退回,对应的还有 --hard 硬退回,后面会讲到,HEAD^ 表示撤销一次提交,HEAD^^ 表示撤销两次提交,撤销 n 次可以简写为 HEAD~n。软退回一个提交后执行 git branch -avv 命令查看分支信息:
本地仓库跟远程仓库版本号一致了,都为66307c8
13、git push推送到远程仓库
将本地新增的提交推送到 GitHub 远程仓库中, 下图我是通过ssh进行推送的,所以不需要输入用户名和密码,如果是https方式,需要输入用户名和密码才能推送到github上
命令是 git push origin master
,后面不需要任何选项和参数,此命令会把本地仓库 master 分支上的新增提交推送到远程仓库的同名分支上,因为当前所在的分支就是 master,而且上文提到,它已经跟踪了远程仓库的同名分支:
推送成功后执行 git branch -avv 查看分支情况:
进入github网站,查看版本号一致
可以看到本地仓库的 master 分支的版本号已经发生了变化,变成了前一次提交的版本号,中括号里也有提示信息,本地分支 master 落后其跟踪的远程分支 origin/master 一个提交。
执行 git status 查看仓库状态,果然上一个提交中的修改全部扔回了暂存区:
15、强制推送到远程仓库
本地仓库落后远程仓库一个版本,这时如果修改test.txt文件,然后在git add test.txt
由于落后一个版本,所以推送失败,只能使用强制推送git push -f
16.版本回退
git reflog
命令,
它会记录本地仓库所有分支的每一次版本变化。实际上只要本地仓库不被删除,随你怎么折腾,都能回退到任何地方。reflog
记录只存在于本地仓库中,本地仓库删除后,记录消失。执行此命令如下图所示:
执行 git reset --hard HEAD@{2}
命令,其中 HEAD@{2}
就是上图第 3 行第 2 列所示,这个命令的意思是回到当前分支最近两次提交版本变化前:
回退到指定的版本号
git的常用功能(管理github仓库)相关推荐
- 如何将本地文件利用git工具上传到github仓库中(超详细+最新版)
https://blog.csdn.net/hanhanwanghaha宝藏女孩 欢迎您的关注! 欢迎关注微信公众号:宝藏女孩的成长日记 如有转载,请注明出处(如不注明,盗者必究) 如何将本地文件利用 ...
- Github 入门1 (下载git , 连接本地库与github仓库)
/* 本篇建立在以注册GitHub账号的前提下*/ (1) 下载 git https://www.git-scm.com // win10 可以直接红色箭头标识的 Download 2.22.0 ...
- git同步代码到远程github仓库
原文地址: http://www.runoob.com/git/git-remote-repo.html Git 远程仓库(Github) Git 并不像 SVN 那样有个中心服务器. 目前我们使用到 ...
- git管理github仓库详解
内容精简 初始化 git init 克隆项目到本地 git clone '当前项目的git地址' 如果要输入用户名密码 就输入: 配置用户名邮箱 git config –global user.nam ...
- git安装和使用---管理远程仓库
实现代码共享集中化管理. 如何将本地代码同步到远程仓库中? Git克隆操作 将远程仓库(github对应的项目)复制到本地. 使用命令(git clone 仓库地址) 即可. 使用命令(git pus ...
- [编程开发工具-6]:github仓库、gitee仓库、git本地仓库混合管理的架构与详细实现步骤
作者主页(文火冰糖的硅基工坊):文火冰糖(王文兵)的博客_文火冰糖的硅基工坊_CSDN博客 本文网址:https://blog.csdn.net/HiWangWenBing/article/detai ...
- Git连接GitHub仓库,同步上传图片及CSDN外链图片转存失败解决方案
Git连接GitHub仓库,同步上传图片及CSDN外链图片转存失败解决方案 最近在使用markdown编辑器写博客时,发现了一个问题,就是本地图片的上传问题,查阅发现,可以上传本地图片,使用外链进 ...
- Git 删除 GitHub仓库的文件——详细操作 githua如何删除文件
Git 删除 GitHub仓库的文件--详细操作_没有余地没有余地的博客-CSDN博客_github删除仓库文件 目录 一.删除已有Github仓库 二.删除Github中的某个文件或文件夹 如果没有 ...
- Git 删除 GitHub仓库的文件——详细操作
目录 一.删除已有Github仓库 二.删除Github中的某个文件或文件夹 如果没有建立本地库或者克隆远程库,需 如果已经有建立本地库或者克隆远程库,需 总流程 一.删除已有Github仓库 删除G ...
最新文章
- ​多视图立体视觉: CVPR 2019 与 AAAI 2020 上的ACMH、ACMM及ACMP算法介绍
- c#测试字符串是否为GUID的几种方法
- 【相关性搜索】 多字段搜索的两种方式——词中心与字段中心
- cuda-convnet2与caffe对比
- Android MVP模式 简单易懂的介绍方式
- Ehab and Path-etic MEXs CodeForces - 1325C(思维+贪心)
- STM32F4 使用STLink 和 EventRecoder 调试运行时间
- Python3 网络爬虫:下载小说的正确姿势
- resnet 50 网络分析
- android 添加新用户,华为手机怎么添加新用户?华为手机添加新用户的方法
- Golang连接使用MySql5.7数据库完整步骤
- 艾伟_转载:Cookie是什么?用法是怎样?与SESSION有什么区别?(二)
- Python高级特性:Python迭代、生成器、列表生成式
- 关于84坐标系与54坐标系转换问题
- 政府支撑智慧城市建设 楼宇对讲投身社区成长
- php计算时间差js,js 求时间差怎么求实例代码
- 第九章 SG90伺服舵机模块的使用
- ASP.NET Core 和 EF Core 系列教程——入门
- MFC添加勾选控件check box
- 投顾风向|各方节前无心恋战 等到节后或有“红包”行情
热门文章
- Python搭建静态web服务器
- Acwing第 15 场周赛【未完结】
- 2.1.5 线程概念和多线程模型
- hexo安装toc插件
- jsp获取java后台数据_springMVC笔记:jsp页面获取后台数据记录列表
- 一款神仙接私活儿软件,吊到不行!
- TPO 按主题刷题记录
- Tomcat端口被占用:starting Tomcat8.0 server at localhost has encountered a problem
- 【小练习06】HTML+CSS--电影公告
- python费用结算系统_python 全栈开发,Day104(DRF用户认证,结算中心,django-redis)