1.创建远程仓库

无论在之后的第二步你是想从本地到远程还是远程到本地,创建远程仓库是第一步肯定的。(推荐克隆本地,然后把本地的代码拷入,然后add push

因为clone ,github会帮忙创建一个banrch

.gitignore 设置项目类型

像我是在github上面建仓库,所以在GitHub网站操作新建自己的一个仓库,.gitignore 设置项目类型,.gitignore 是 Git 仓库中的一个特殊的文本文件,它里面记录了你不希望提交到仓库的目录和文件的名称或类型,例如你的 /build 目录;

如果是文件夹,直接在后面写上文件夹的名称就可以过滤掉,还可以过滤具有某些特殊后缀的文件,以及文件名指定文件

仓库的名称,可以是任意的:

如果第二步你是从远程clone到本地那么你需要注意,你的仓库名称就是你的项目名称。

如果第二步你是从本地push到远程那么你需要注意,你的项目名和你的仓库名可以是不一样的。

ssh和https的区别:推荐ssh

在管理Git项目上,很多时候都是直接使用https url克隆到本地,当然也有有些人使用SSH url克隆到本地。这两种方式的主要区别在于:使用https url克隆对初学者来说会比较方便,复制https url然后到git Bash里面直接用clone命令克隆到本地就好了,但是每次fetch和push代码都需要输入账号和密码,这也是https方式的麻烦之处。而使用SSH url克隆却需要在克隆之前先配置和添加好SSH key,因此,如果你想要使用SSH url克隆的话,你必须是这个项目的拥有者。否则你是无法添加SSH key的,另外ssh默认是每次fetch和push代码都不需要输入账号和密码,如果你想要每次都输入账号密码才能进行fetch和push也可以另外进行设置。

.git

LICENSE 和 .gitignore 文件外,还有一个叫做 .git 的隐藏目录。 这个 .git 目录,就是你的本地仓库(Local Repository),你的所有版本信息都会存在这里。而 .git 所在的这个根目录,称为 Git 的工作目录(Working Directory),它保存了你当前从仓库中签出(checkout)的内容。

checkout切换分支,clone获取远程仓库代码

git工具 

下载git.exe,Windows在使用git工具时,可以看到有两个命令输入窗:

1. Git CMD

2. Git Bash

两者的区别:Bash是基于CMD的,Bash在CMD的基础上新增了一些命令和功能,故建议使用Bash更方便。

Git GUI 是一个图形操作页面。

在项目工程上打开"Git Bash Here"这个命令行窗口上操作的,另外不建议cmd,建议git bash,可以补全

所有的命令都有快捷提示补充功能tab键,比如输入"git status"这个命令时,只需要输入"git stat"再按tab键就补充剩下的了,其他也是

2.初次把远程仓库取到本地

git clone 你刚复制的地址

这里需要注意的是:

1.你当前所在的目录是你项目的父目录。

2.你需要配置ssh。https://blog.csdn.net/qq_34291777/article/details/55052201?locationNum=1&fps=1

Please make sure you have the correct access rightsand the repository exists 或Permission denied (publickey).

想从Git库中克隆项目。没想到原来要进行密钥生成。就是和你https://github.com上的账号进行验证。在本机生成密钥与自己账号绑定。这样就可以从git上下项目了。(这也是为什么我们要fork别人的项目,fork了才方便自己clone和提交)

git config –global user.name “yourname”回车

git config –global user.email“your@email.com”回车

这两个命令相当于配置了密码,任何更改,在家目录下.gitconfig文件中更改

[user]
email = g1695698547@163.com
name = Gaoyongxian666

ssh-keygen -t rsa -C “your@email.com”(请填你设置的邮箱地址)回车(命令中的引号可以不加)最后在家目录  下找  .ssh  文件夹中的 id_rsa.pub 用记事本打开(不是那个文件)

3.初次把本地仓库推到远程

在你的项目目录下:

git init 初始化

git add . 提交全部

git status 查看状态

git remote add origin [写下你的仓库地址]   让本地仓库连接远程仓库

git commit -m "Initial commit" 提交信息(可以不加引号,加引号可以写多行注释

git push origin master 提交到主分支

注意:

1.origin和master中不能有/

2.fatal: remote origin already exists. 或者用3

  git remote rm origin
  git remote add origin [url]

3.如何更改远程仓库 git remote set-url origin [url]

4.免密

1)新建文件并保存密码
$ touch ~/.git-credentials
$ vim ~/.git-credentials
2)添加内容
https://{username}:{passwd}@github.com
3)添加git配置
$ git config --global credential.helper store

另外还有一个更简单但安全性低一些的方案:执行这行代码:git config credential.helper store

在这之后你只需要再输入一次密码, Git 就会把你的密码保存下来,这之后就再也不用输入了。说它「安全性低」,是因为这条指令会让 Git 把你的密码以明文形式保存在你的电脑上。具体这两种保存密码的方案选择哪个,看你自己了

5.命令:

上面提到的都是一个文件一个文件的添加到staged,所以用"git add 文件名",添加所有文件到暂存区可以直接用“git add .”

提交直接用"git commit -m '你提交的信息'",推到中央仓库也可以直接用 "git push origin master"就好了

上面提到输入用户名和密码这个,我只知道把项目clone下来时不用"https 的那个url",而是用“ssh 的那个url”这样就不需要每次操作输入用户名和密吗

5.1   log查看提交记录

在这里你只能看到一个提交,这个提交是 GitHub 帮你做的,它的内容是创建你的初始 .gitignore 和 LICENSE 这两个文件。图中第一行中的 commit 右边的那一大串字符(09773235…21411),是这个 commit 的 SHA-1 校验和(如果不知道什么是 SHA-1,你可以暂时把它简单理解为这个 commit 的 ID);后面括号里的内容(HEAD -> master ...)稍后再讲;第一行的下面,依次是这个 commit 的作者、提交日期和提交信息,其中提交信息记录了这个提交做了什么,是提交者填写的(当然,这条提交信息是 GitHub 帮你写的)。

简单看一下这些信息,然后按 q 键退出吧,往下继续。

5.2   commit提交

现在你在项目的目录下输入:

git log, Show commit logs

可以在 git commit 后面接 -m ‘<变更日志>’ ,就不需要使用 vi 输入

注意:提交之前无论是commit还是push都要进行status 。

5.3   status 状态 与 add 追踪

git status  Show the working tree status,用来查看工作目录当前状态的指令,只要不是暂存成功的,都需要add

git add  Add file contents to the index

 "untracked" 状态,它的意思是 Git 仓库对它没有进行任何记录,你在提交的时候不会把它提交上去,查看提交历史也不会看到它。总之,对于 Git 仓库来说,它是不存在的。

 "staged"(已暂存)状态,意思是这个文件中被改动的部分(也就是这整个文件啦)被记录进了 staging area(暂存区)。

 

暂存区: staging area,是 .git 目录下一个叫做 index 的文件(嗯,它的文件名并不叫 stage )。

每个文件有 "changed / unstaged"(已修改), "staged"(已修改并暂存), "commited"(已提交) 三种状态,以及一种特殊状态。"untracked"(未跟踪)。

5.4 push到中央仓库

git commit 提交指令,提交到本地仓库

git push 提交一次或多次到本地后,把本地提交 push 到中央仓库

先pull 再push,防止冲突

5.5 pull更新本地仓库

git pull 是更新

5.6  一般的工作流程

git clone--写代码--git add--中间可以随时git status(总共四种工作状态)--git commit--git push---git pull---写代码

5.7  管理级别

Git 的管理是目录级别,而不是设备级别的。也就是说,/git-practice 目录内的 .git 只管理 /git-practice 里的内容,/git-practice-another 目录内的 .git 也只管理 /git-practice-another 里的内容,它们之间互不知晓,也互不影响。

5.8  完成提交

push/或者 commit 之后,i 输入提交信息, 然后esc 连续两个大写的Z 就保存且退出了.如果是commit -m 就不用这么麻烦。

fatal 致命的

Git--上手Github的更多相关文章

  1. linux下git以及github的连接与使用

    简单理解 Git 的思想和基本的工作原理,能够更好的进一步和使用Git.在开始学习Git 的时候,最好不要把Git的各种概念和其他的版本控制系统诸如 Subversion 等相比,否则容易混淆每个操作 ...

  2. SVN 、Git、Github的使用

    1.1 SVN 总结以及使用建议 每一次保存历史记录实际上就是一次提交 什么时候去保存历史记录? 完成了一个具体的功能模块 代码运行没有bug 当天工作结束提交一次 没有 bug 的前提下去提交一次 ...

  3. git和github的第一次接触

    我的github的helloworld链接: https://github.com/xuziqian111/hello-world/blob/master/helloworld.java 我的gith ...

  4. 【转】理清基本的git(github)流程

    概述 当我初次接触git时,我需要快速学习基本的git工作流,以便快速接收一个开源Web项目维护.但是,我很难理解工作流程,因为我不太了解git使用关键点. fork,clone,pull.branc ...

  5. 初见git和github

    一.我的github helloworld程序的地址:https://github.com/wyf1213/wyf-project1 二.git/github的相关介绍资料 1.github是什么   ...

  6. 我对git 、github的初印象

    前言:都说,要在IT这行混得风生水起,就必须不断接触新事物.学习新东西.然而,这个重要的点也是难做的点.当老师要我们用博客交作业的时候,我就觉得挺新鲜了,在知道很多牛逼的程序猿还会用到git和gith ...

  7. Git和Github详细教程

    一 概述 说到Git和Github,前几天我们知道微软以75亿美元收购全球最大的代码托管和写作平台GitHub,而GitHub是全球最大的代码仓库,很多开发人员都将代码存放在Github,许多开发者因 ...

  8. 简单使用Git和Github来管理自己的代码和读书笔记

    原文链接:http://my.oschina.net/bxxfighting/blog/378196   先注册github.com的账号官方网站: https://github.com/ 注册界面, ...

  9. git for windows 的默认工作路径(HOME)的设置以及Git与GitHub之间的SSH加密协议

    1.安装及配置默认路径 Windows中从GitHub上面:https://git-for-windows.github.io/ 下载安装好git后(双击,改一下需要的安装路径,一路确定就好了),安装 ...

  10. git与github安装、配置、pull、push

    操作系统是Ubuntu 16.04 LTS 64bit 1 安装git (1)安装 sudo apt-get install git-core (2)一些全局变量的初始化 在本地建立一个文件夹,然后做 ...

随机推荐

  1. Call JMS Web Service

    The content type application/json of the response message does not match the content type of the bin ...

  2. which/whereis

    which 查找二进制命令,按环境变量PATH路径查找 whereis 查找二进制命令,按环境变量PATH路径查找 查询命令的安装路径,配置文件路径

  3. 小米 oj 纯位数

     纯位数 序号:#101难度:非常难时间限制:2000ms内存限制:20M 描述 在数学中,所谓"纯位数"是指由相同位元重复而组成的自然数.比如在十进制中,1,22,333,555 ...

  4. 【luoguP2827】 蚯蚓

    题目描述 本题中,我们将用符号\rfloor⌊c⌋ 表示对 cc 向下取整,例如:\lfloor 3.0 \rfloor = \lfloor 3.1 \rfloor = \lfloor 3.9 \rf ...

  5. 【CUDA 基础】6.2 并发内核执行

    title: [CUDA 基础]6.2 并发内核执行 categories: - CUDA - Freshman tags: - 流 - 事件 - 深度优先 - 广度优先 - 硬件工作队列 - 默认流 ...

  6. I am coming..

    It's so great to start the blog here since it's been a long time that I want to start such kind of l ...

  7. codeforces708C

    CF708C Centroids 题意翻译 给定一颗树,你有一次将树改造的机会,改造的意思是删去一条边,再加入一条边,保证改造后还是一棵树. 请问有多少点可以通过改造,成为这颗树的中心?(如果以某个点 ...

  8. deepin linux安装为知笔记

    sudo apt-get install wiznote

  9. C++cctype软件包函数摆脱,ASCII码!

    对于字符,你是否还在用ASCII码? 下面是C++的函数库,摆脱ASCI码! 1.isalnum(): 判断是否为数字和字母 2.isalpha(): 判断是否是字母 3.iscntrl(): 判断是 ...

  10. BOM:浏览器对象

    1.window是javascript的顶级对象        window有很多内置方法 如 alert open 自定义函数 2.window是bom的顶级对象,通常情况下,可以省略 window ...