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仓库)相关推荐

  1. 如何将本地文件利用git工具上传到github仓库中(超详细+最新版)

    https://blog.csdn.net/hanhanwanghaha宝藏女孩 欢迎您的关注! 欢迎关注微信公众号:宝藏女孩的成长日记 如有转载,请注明出处(如不注明,盗者必究) 如何将本地文件利用 ...

  2. Github 入门1 (下载git , 连接本地库与github仓库)

    /* 本篇建立在以注册GitHub账号的前提下*/ (1)  下载 git  https://www.git-scm.com // win10 可以直接红色箭头标识的 Download 2.22.0 ...

  3. git同步代码到远程github仓库

    原文地址: http://www.runoob.com/git/git-remote-repo.html Git 远程仓库(Github) Git 并不像 SVN 那样有个中心服务器. 目前我们使用到 ...

  4. git管理github仓库详解

    内容精简 初始化 git init 克隆项目到本地 git clone '当前项目的git地址' 如果要输入用户名密码 就输入: 配置用户名邮箱 git config –global user.nam ...

  5. git安装和使用---管理远程仓库

    实现代码共享集中化管理. 如何将本地代码同步到远程仓库中? Git克隆操作 将远程仓库(github对应的项目)复制到本地. 使用命令(git clone 仓库地址) 即可. 使用命令(git pus ...

  6. [编程开发工具-6]:github仓库、gitee仓库、git本地仓库混合管理的架构与详细实现步骤

    作者主页(文火冰糖的硅基工坊):文火冰糖(王文兵)的博客_文火冰糖的硅基工坊_CSDN博客 本文网址:https://blog.csdn.net/HiWangWenBing/article/detai ...

  7. Git连接GitHub仓库,同步上传图片及CSDN外链图片转存失败解决方案

    Git连接GitHub仓库,同步上传图片及CSDN外链图片转存失败解决方案 ​ 最近在使用markdown编辑器写博客时,发现了一个问题,就是本地图片的上传问题,查阅发现,可以上传本地图片,使用外链进 ...

  8. Git 删除 GitHub仓库的文件——详细操作 githua如何删除文件

    Git 删除 GitHub仓库的文件--详细操作_没有余地没有余地的博客-CSDN博客_github删除仓库文件 目录 一.删除已有Github仓库 二.删除Github中的某个文件或文件夹 如果没有 ...

  9. Git 删除 GitHub仓库的文件——详细操作

    目录 一.删除已有Github仓库 二.删除Github中的某个文件或文件夹 如果没有建立本地库或者克隆远程库,需 如果已经有建立本地库或者克隆远程库,需 总流程 一.删除已有Github仓库 删除G ...

最新文章

  1. ​多视图立体视觉: CVPR 2019 与 AAAI 2020 上的ACMH、ACMM及ACMP算法介绍
  2. c#测试字符串是否为GUID的几种方法
  3. 【相关性搜索】 多字段搜索的两种方式——词中心与字段中心
  4. cuda-convnet2与caffe对比
  5. Android MVP模式 简单易懂的介绍方式
  6. Ehab and Path-etic MEXs CodeForces - 1325C(思维+贪心)
  7. STM32F4 使用STLink 和 EventRecoder 调试运行时间
  8. Python3 网络爬虫:下载小说的正确姿势
  9. resnet 50 网络分析
  10. android 添加新用户,华为手机怎么添加新用户?华为手机添加新用户的方法
  11. Golang连接使用MySql5.7数据库完整步骤
  12. 艾伟_转载:Cookie是什么?用法是怎样?与SESSION有什么区别?(二)
  13. Python高级特性:Python迭代、生成器、列表生成式
  14. 关于84坐标系与54坐标系转换问题
  15. 政府支撑智慧城市建设 楼宇对讲投身社区成长
  16. php计算时间差js,js 求时间差怎么求实例代码
  17. 第九章 SG90伺服舵机模块的使用
  18. ASP.NET Core 和 EF Core 系列教程——入门
  19. MFC添加勾选控件check box
  20. 投顾风向|各方节前无心恋战 等到节后或有“红包”行情

热门文章

  1. Python搭建静态web服务器
  2. Acwing第 15 场周赛【未完结】
  3. 2.1.5 线程概念和多线程模型
  4. hexo安装toc插件
  5. jsp获取java后台数据_springMVC笔记:jsp页面获取后台数据记录列表
  6. 一款神仙接私活儿软件,吊到不行!
  7. TPO 按主题刷题记录
  8. Tomcat端口被占用:starting Tomcat8.0 server at localhost has encountered a problem
  9. 【小练习06】HTML+CSS--电影公告
  10. python费用结算系统_python 全栈开发,Day104(DRF用户认证,结算中心,django-redis)