创建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. 绝对有效 IntelliJ IDEA2019.2下载、安装及破解教程

        原文链接:https://blog.csdn.net/weixin_43904316/article/details/88881238                   https://bl ...

  2. GitLab CI/CD的官译【原】

    CI / CD方法简介 软件开发的持续集成基于自动执行脚本,以最大限度地减少在开发应用程序时引入错误的可能性.从新代码的开发到部署,它们需要较少的人为干预甚至根本不需要干预. 它涉及在每次小迭代中不断 ...

  3. prometheus重启hang住问题记录

    官方issue并不承认这是一个问题,参考: https://github.com/prometheus/prometheus/issues/5727 https://github.com/promet ...

  4. tqdm()与set_description()的用法

    pbar=tqdm(range(55156))for i in pbar: # print(i) a=464443161*845113131 pbar.set_description("tr ...

  5. 【转载】C#中使用Insert方法往ArrayList集合指定索引位置插入新数据

    ArrayList集合是C#中的一个非泛型的集合类,是弱数据类型的集合类,可以使用ArrayList集合变量来存储集合元素信息,在ArrayList集合操作过程中,可以使用ArrayList集合类的I ...

  6. Java深入学习(5):锁

    可重入锁: 简单来说,支持重复加锁,有可重用性 特征:锁可以传递,方法递归传递 目的:避免了死锁现象 代码: public class Test implements Runnable { @Over ...

  7. Android-----解析xml文件的三种方式

    SAX解析方法介绍: SAX(Simple API for XML)是一个解析速度快并且占用内存少的XML解析器,非常适合用于Android等移动设备.SAX解析XML文件采用的是事件驱动,也就是说, ...

  8. idea中导入Maven项目,但是没有Maven Dependencies,且没有pom

    1. 可以复制其他项目的类似的pom.xml文件复制到当前项目下 2. 导入此项目为maven项目 3. 配置相应的maven环境 4. 如果此时的Application.class中的main方法没 ...

  9. go build -tags 的使用

    go build 使用tag来实现编译不同的文件 go-tooling-workshop 中关于go build的讲解可以了解到go bulid的一些用法,这篇文章最后要求实现一个根据go bulid ...

  10. SaltStack--项目实战

    saltstack项目实战 项目架构规划 后端web服务器使用Nginx+Php作为站点,通过HAproxy做负载均衡,Keepalived做高可用 项目环境准备 说明: 关闭防火墙.selinux. ...