创建GitHub账号

本地Git仓库和GitHub仓库之间的传输是通过SSH加密的

step1:创建项目的SSH Key

ssh-keygen -t rsa -C "your email@example.com"

创建完成后,在用户目录里找到.ssh目录,里面有id_rsa和id_rsa.pub两个文件。这两个就是SSH Key的密钥对,id_rsa是私钥,不能泄露出去,id_rsa.pub是公钥,可以放心的告诉他人

step2:登陆GitHub注册或登陆账号,打开“settings”的“SSH Keys”页面,然后,点击“New SSH Key”,填上任意title,在key文本框里黏贴id_rsa.pub的文本内容,点“Add Key”,你就应该看到已添加的Key。

创建远程仓库

  • 登陆GitHub

  • 在右上角找到“+”点击“new repository”按钮,创建一个新的仓库

从远程仓库克隆

  • 将GitHub上的项目,克隆到本地一份

  • git clone git@github.com:账号名/项目名.git

与远程库交互

    • 从远程库获取到本地

      git pull

    • 将本地代码提交到远程库

    • git push origin master
    • 提示:每次提交前,需要先获取,解决冲突后再次提交

本地仓库

    • 创建空目录(本地仓库)和git本地角色

      mkdir -p repo/example
      cd repo/example
      git config --global user.name "Your Name"
      git config --global user.email "email@example.com"
    • 在目录下初始化本地仓库

    • git init
    • 创建成功后,目录下就是一个版本库,这个目录里所有文件都可以被Git管理起来,每个文件的修改、删除,Git都能跟踪,以便任何时刻可以追踪 历史,或在必要时回退版本

文件管理

  • 本地仓库分为三部分:工作区,暂存区,仓库区,其中暂存区、仓库区是版本库部分

工作区和暂存区

    • 使用ide打开目录,创建项目,将文件添加到暂存区

    • git add 文件1 文件2 ...
      
      git add 目录
    • 使用暂时区的内容恢复到工作区的内容

git checkout --文件名

    • 查看暂存区的状态

       git status

暂存区到仓库区

  • 将暂存区的记录添加到仓库区

    git commit -m '提交时的备注信息'

  • 查看仓库区的历史

    当前版本的历史版本:git log
    简版显示:git log --pretty=oneline
    历史命令:git reflog
  • 在Git中,使用HEAD表示当前版本,也就是最新版本,上个版本就是HEAD^,上上个版本是HEAD^^,当然往上100个版本写^数不过来,所以写成HEAD~100

  • 对比工作区和仓库区中某版本文件的不同

    git diff HEAD --文件名

  • 回退历史版本到暂存区

   git reset HEAD^或版本号

git show 版本号    //查看具体版本号的详细修改

git branch //查看本地所有分支,为master分支

git checkout -b master1 origin/master //1:新建一个新分支master1)----简历新分支master1跟踪远程分支master, --- 此时git branch查看分支,为master 、master1 2个分支;

------------------在新分支master1操作---------

git cherry-pick 版本号 //2:复制内容倒master1----复制版本号的对应修改到master1

git status //此时gitstatus 会显示有一个待提交 是刚复制的点

git pull origin master //拉取master的最新内容倒master1

git push origin master1:master //3:将找回内容提交到master----将本地的修改(刚复制的点)master1提交到master(注意master1后不要带空格 不然会将远程的master干掉)

git branch -r //查看远程分支

git branch -d master //4:删除本地分支master----删除本地master分支 --- 此时git branch 查看本地分支,只有master1一个本地分支

git branch -m master1 master //5:将master1重命名为master----将master1重命名为master --- 此时git branch 查看本地分支,是master分支

GIT与项目的更多相关文章

  1. Git 本地项目上传至托管平台(OsChina/GitHub)

    为了方便自己的代码管理,通常是把自己的写的一些小项目分享到GitHub 或者git.oschina上面! 区别: GitHub 只能创建公开的项目,国外的,速度慢! git.oschina 开源中国的 ...

  2. 在Spring tools suite中使用git 共享项目

    我们都在eclipse 和 myeclipse中使用过cvs 和 svn 版本控制工具进行团队开发,今天我学习了另外一种版本控制工具git,下面我演示如何在Spring tools suite中使用g ...

  3. git使用--git命令项目提交问题总结

    提交遇到Error  "remote ref does not exist"解决办法:git fetch -p MY_REMOTE    eg.    git fetch -p o ...

  4. 用Git导出项目

    Git没有SVN的导出功能,不能像 svn export url 那样,将某个版本的代码导出为不带版本控制文件的文件夹.   Git提供了archive命令,可以把版本的文件流导出.   可以将Git ...

  5. Eclipse中使用git把项目导入到osc@git中

    方便Eclipse用户使用Git把项目导入到osc@git中进行管理. Eclipse Git osc@git 一.原有项目:  项目名为TestGit 二.在osc@git上面创建一个新项目库. 填 ...

  6. Eclipse配置Git发布项目到Github

    很牛叉的博客http://blog.csdn.net/luckarecs/article/details/7427605 一.安装插件 菜单栏Help --> Install New Softw ...

  7. 如何用Android Studio同时使用SVN和Git管理项目

    这篇来讲讲如何在 Android Studio 上同时用 SVN 和 Git 来管理项目.我知道,你肯定会说我吃饱了撑着,没事找事做,为啥要同时用 SVN 和 Git 来管理项目.问题是,我也不想啊, ...

  8. git学习四:eclipse使用git提交项目

    支持原创:http://blog.csdn.net/u014079773/article/details/51595127 准备工作: 目的:eclipse使用git提交本地项目,提交至远程githu ...

  9. 使用Git将项目托管到码云及从码云导入项目到本地

    前言 码云+Git+IntellJ IDEA 欢迎转载,请注明作者和出处哦☺ Git 的安装及使用的教程 ​​​​ 最好不要在官网下载,官网下载要vpn而且速度还很慢 . 推荐在 https://gi ...

  10. react简书笔记一 环境, git 和 项目 关联

    1.. 建立git项目  ( 码云, github 都可以 ), 具体步骤: https://www.cnblogs.com/andy-lehhaxm/p/10720717.html 1.1  git ...

随机推荐

  1. Linux命令注释—HDFS运维

    HDFS运维—命令注释 1 实验背景 HDFS是大数据其他组件的基础,Hive的数据存储在HDFS中,Mapreduce.Spark 等计算数据也存储在HDFS 中,HBase 的 region 也是 ...

  2. Web负载均衡学习笔记之K8S内Ngnix微服务服务超时问题

    0x00 概述 本文是从K8S内微服务的角度讨论Nginx超时的问题 0x01 问题 在K8S内部署微服务后,发现部分微服务链接超时,Connection Time Out. 最近碰到了一个 Ngin ...

  3. ASP.NET Core应用程序容器化、持续集成与Kubernetes集群部署(一)(转载)

    本文结构 ASP.NET Core应用程序的构建 ASP.NET Core应用程序容器化所需注意的问题 应用程序的配置信息 端口侦听 ASP.NET Core的容器版本 docker镜像构建上下文(B ...

  4. SQL Server的唯一键和唯一索引会将空值(NULL)也算作重复值

    我们先在SQL Server数据库中,建立一张Students表: CREATE TABLE [dbo].[Students]( ,) NOT NULL, ) NULL, ) NULL, [Age] ...

  5. [個人紀錄] windows form , usercontrol design 模式不見

    windows form 跟 usercontrol 都變成cs檔 無法點擊進入設計模式 <Compile Include="Form1.cs"/> <Compi ...

  6. logback配置和使用

    简介 logback是由log4j创始人设计的又一个开源日志组件.当前分成三个模块: logback-core是其它两个模块的基础模块. logback-classic是log4j的一个 改良版本.此 ...

  7. JS基础 —— call、apply 和 bind

    函数的三个原型方法 作用:改变this指向 call MDN:https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Glo ...

  8. JavaScript设计模式与开发实践随笔(三)

    封装 1. 封装数据 a)      只能依赖变量的作用域来实现封装特性,es6中可以通过symbol创建私有属性 var myObject = (function(){ var __name = ' ...

  9. 原生aJax跨域

    今天遇到一个问题,利用原生ajax请求时报了一段错, 大概意思就是同源策略阻止了访问,也就是跨域, 后来发现是我在代码中发送了请求头, xhr.setRequestHeader(); 将这段代码删除后 ...

  10. Java 字符串(一)字符串初始化

    一.String类概述 1.概述 java.lang.String 类代表字符串.Java程序中所有的字符串文字(例如 "abc" )都可以被看作是实现此类的实例.String 是 ...