创建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. java学习:循环结构的使用规则和注意事项

    循环结构的基本组成部分,一般可分为四部分: 初始化语句:在循环开始最初执行,而且只做唯一一次 条件判断:如果成立,则循环继续:如果不成立,则循环退出. 循环体:重复要做的事情内容,若干行语句. 进步语 ...

  2. TCP/UDP的网络底层实现

    1.1Socket的使用背景 当我们在使用微信.玩游戏.收发邮件,以及用web浏览器上网时,底层的实现是TCP/UDP的协议,封装socket实现网络通信功能. 了解了网络通信的底层实现原理,在出现s ...

  3. 计算标准差——Python

    计算标准差 题目描述: 编写一个函数计算一系列数的标准差.‪‬‪‬‪‬‪‬‪‬‮‬‪‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‪ ...

  4. vue日历/日程提醒/html5本地缓存

    先上图 功能: 1.上拉日历折叠,展示周 2.左右滑动切换月 2.“今天”回到今天:“+”添加日程 3.localStorage存储日程 index,html <body> <div ...

  5. EF之DataBase添加新表

    由于需要新增的XML数据较多,可以另起项目,将新增的XML数据复制到原来的EF

  6. 三分钟掌握,使用Quqrtz.Net实现定时发送邮件

    在实际的项目中,常遇到延时触发工作以及定时触发工作 这里所讲的是借助第三方的组件 Quartz.Net 来实现(源码位置:https://github.com/quartznet/quartznet) ...

  7. httpclient cer

    X509Certificate2 cer = new X509Certificate2(@"path", "********", X509KeyStorageF ...

  8. 一.Linux

    1.常用命令 Linux 命令的语法格式命令[选项][参数] Ctrl + l #清屏 clear #清屏 Ctrl +c #结束命令 man su #查看su 帮助信息,q 退出 su --help ...

  9. [ROR] 如何在mixin模块中定义类方法(Howto define class methods in a mixin module)

    方法一: 修改模块的include方法 module Bbq def self.included(base) base.send :include, InstanceMethods base.exte ...

  10. Python - 实现矩阵转置

    有个朋友提出了一个问题:手头上现在有一个二维列表,比如[[1, 2, 3], [4, 5, 6], [7, 8, 9], [10, 11, 12]],现在要把该二维列表变成为[[1, 4, 7, 10 ...