/***********************

个人知识水平有限

有任何错误请尽情指出!!谢谢啦

我的Github

求粉 ミ ゚Д゚彡

***********************/

参考教程:廖雪峰的官方网站

==================================

中英对照:

仓库 repositoriy

git 一种分布式版本控制系统blahblahblah~~

bash 一种shell

shell 一种接受用户指令的东东(如控制台)

==================================

以前用的是Visual Studio上一个Git插件,点几个按钮就能push pull sync非常简单粗暴无脑,可能无法学习到这种管理方式的精华。所以我抛弃了简单易用的插件,想从基础开始。。。

开始

首先需要安装Git For Windows

安装完后对着文件夹空白地方右键,可以看到多出来一些选项(如下图)

Git Init Here(在此创建git):新建git项目用,一般在你的程序的项目主目录使用该命令。

Git Gui(打开一个图形界面的玩意):我不会用ㄟ( ▔, ▔ )ㄏ

Git Bash(打开一个类似控制台的东东):以后主要用这个!!

那么假设以前我用Visual Studio新建了一个项目,写了一点代码,现在我想把它同步至Github,怎么用这个Git Bash操作?

首先,我们需要一个Github的账户,比如我的(又来=A=):

然后打开Git Bash(以下简称Bash)

第一次使用Bash需填写一下“个人信息“,告诉服务器你是谁,在Bash中依次输入以下代码

(开头的 $ 是本来就有的,无需输入)

将引号的内容替换成你的信息!

$ git config --global user.name "Your Name"
$ git config --global user.email "yourEmail@mail.com"

回车后如果bash什么反应都没有,只是空了一行,那就说明我们的输入正确,万事大吉。

要从本地操控服务器上的文件,我们还要通过服务器的验证,这里使用一种叫SSH的东东。。。我也不知道具体是个什么玩意。

首先我们要创建一对SSH密钥(SSH key)

$ ssh-keygen -t rsa -C "yourEmail@email.com"

别问我具体每个指令什么意思。。。我也不知道哇。。。

一路回车,什么都别管

完事之后打开C盘,找到C:\Users\”你的用户名“\.ssh

看看里面有没有这两个文件

有就说明创建成功了,以后后缀为.pub的那个就是你给别人看的publickey,上面一个千万别给了任何人,虽说别人没事破解你的可能性也不大吧。。。

有了这个东西,就能确保只有你或者其他认证过的人能修改你的文件/代码。

接下来用笔记本打开后缀为.pub的那货,Ctrl + A 再Ctrl + C复制下所有的东西,打开你的Github页面,找到你的账户设置Account Setting,在左边找到SSH keys。

选择“Add SSH key”,直接对着第二个大点的Key输入框Ctrl + V然后提交,title会自动生成的(就是你邮箱)。这样只有这台电脑能对这个账号的文件进行操作了。

完事后可以输入以下指令检测以下:

$ ssh git@github.com

第一次使用的话会询问你信任该站点不,回复yes。

看到提示“Hi! XXXXXXX,You have successfully xxxxxxxxx”就说明SSH设置好了。

到此前期工作已经基本完成,应该可以上传、同步我们的项目了。

1)创建项目:

找到代码的主目录,通常是.sln所在的位置,比如我的是

F:\Projects_VisualStudio\DirectXLearningPath

对着文件夹空白地方右键->Git Init Here

过一会会出现一个隐藏的文件夹“.git”,表示本地仓库创建完成,如图。

这样本地的仓库就创建好了,接下来创建服务器上的仓库。

2)在Github上选择New Repository,名字起好,确定。

3)将本地仓库关联到远程仓库

注意后两项换上自己的信息,最后的.git别忘了,.git之前的名字是你Github上那个仓库的名字。

$ git remote add origin git@github.com:NooBJeff/DirectXLearningPath.git

有的时候为了学习别人的代码,需要将他们的仓库clone到本地,可以使用一下指令

$ git clone git@github.com:<UserName>/<RepoName>.git

add

将本地文件的修改加入同步

$ git add XXXXX

XXXX是所有你需要同步至服务器的文件,多次使用该命令一个个的添加,比如你所有的代码文件,工程设置文件,等等。确保你把所有必须的文件都add进去,不然别人同步你的仓库一看缺少文件就醉了。

而且每次文件内容有变动之后一定要及时的add,add的操作只记录之前的修改;add之后再修改的话,还得add一次。

PS:按TAB可以自动补全文件名称

commit

将修改commit至仓库

$ git commit -m "您对此次修改的注释"

这一步怎么说呢。。。是很重要的一步然而我目前也只能理解成,将所有add过的文件打包(并没有真的打包成一个文件),准备发往服务器。

将commit同步至远程仓库

如果是第一次同步,你的代码都在本地而github的仓库什么都没有的时候,输入

$ git push -u origin master

push

以后你修改了代码之类的,add这个文件,commit然后push就行。

新建了文件需要add->commit->push

$ git push origin master

Git 学习笔记(W,I,P)的更多相关文章

  1. Git学习笔记与IntelliJ IDEA整合

    Git学习笔记与IntelliJ IDEA整合 一.Git学习笔记(基于Github) 1.安装和配置Git 下载地址:http://git-scm.com/downloads Git简要使用说明:h ...

  2. Git学习笔记(10)——搭建Git服务器

    本文主要记录了Git服务器的搭建,以及一些其他的配置,和最后的小总结. Git远程仓库服务器 其实远程仓库和本地仓库没啥不同,远程仓库只是每天24小时开机为大家服务,所以叫做服务器.我们完全可以把自己 ...

  3. Git学习笔记(四)

    一.忽略特殊文件 在Git工作区的根目录下创建一个特殊的.gitignore文件,然后把要忽略的文件名填进去,Git就会自动忽略这些文件. 不需要从头写.gitignore文件,GitHub已经为我们 ...

  4. git 学习笔记6--remote & log

    git 学习笔记6--remote & log 创建SSH Keys ssh-keygen -t rsa -C "1050244110@qq.com" 本地关联远程 git ...

  5. Git学习笔记---协作的一般流程

    一般的操作流程 1.pull 王小坤与另一个同事张大炮一起开发一个项目,张大炮昨天修改了数据库读写的api,优化了执行速度,并把read()函数改名成了Read(),下午下班之前把这些代码push到服 ...

  6. 【转帖】Git学习笔记 记录一下

    本文内容参考了廖雪峰老师的博文,并做了适当整理,方便大家查阅. 原帖地址 https://wangfanggang.com/Git/git/ 常用命令 仓库初始化 - git init 1 git i ...

  7. [转]Git学习笔记与IntelliJ IDEA整合

    Git学习笔记与IntelliJ IDEA整合 一.Git学习笔记(基于Github) 1.安装和配置Git 下载地址:http://git-scm.com/downloads Git简要使用说明:h ...

  8. GIT学习笔记(1):创建版本库

    GIT学习笔记(1):创建版本库 创建版本库 1.创建合适目录并初始化为仓库 版本库即需要交由Git进行版本控制的目录,其下所有文件的修改.删除,Git都能跟踪还原. 说明:初始化后,当前目录下会多出 ...

  9. GIT学习笔记(5):变基

    GIT学习笔记(5):变基rebase 变基 引入变基 在Git中整合来自不同分支的修改主要有两种方法:merge以及rebase. 整合分支最容易的方法是merge,他会把两个分支的最新快照以及两者 ...

随机推荐

  1. 0213微信ZABBIX报警

    简介 微信作为日常使用最频繁的工具,因此希望将微信接入zabbix报警. 微信企业号 1.申请微信企业号 申请后,请在“我的企业”页面下记录企业号的CorpID 2.添加通讯录 部门添加完成后,根据实 ...

  2. T1002 搭桥 codevs

    http://codevs.cn/problem/1002/  时间限制: 1 s  空间限制: 128000 KB  题目等级 : 黄金 Gold 题目描述 Description 有一矩形区域的城 ...

  3. Java中DAO/DTO/PO/VO/BO/QO/POJO

    ORM:是Object Relational Mapping(对象关系映射)的缩写. 通俗点讲,就是将对象与关系数据库绑定,用对象来表示关系数据.在O/R/M的世界里,有两个基本的也是重要的东东需要了 ...

  4. Tap into your Linux system with SystemTap

    https://major.io/2010/12/07/tap-into-your-linux-system-with-systemtap/ December 7, 2010 By Major Hay ...

  5. sizeof小览

    一.文章来由-一道面试题迁出的探究 我发现我已经形成一种习惯写来由了,以后看博客的时候能够让我回顾起为什么出现这个问题,我用什么方法解决的,既然形成习惯就让这个习惯保持下去吧.今天实验室师姐在看书,一 ...

  6. 深入理解MVC C#+HtmlAgilityPack+Dapper走一波爬虫 StackExchange.Redis 二次封装 C# WPF 用MediaElement控件实现视频循环播放 net 异步与同步

    深入理解MVC   MVC无人不知,可很多程序员对MVC的概念的理解似乎有误,换言之他们一直在错用MVC,尽管即使如此软件也能被写出来,然而软件内部代码的组织方式却是不科学的,这会影响到软件的可维护性 ...

  7. willRotateToInterfaceOrientation 屏幕旋转

    /* 1.屏幕发生旋转后, 这个旋转事件会先传递给window的rootViewController(窗口的根控制器) 2.rootViewController又会将这个旋转事件传递给它的子控制器 * ...

  8. LeetCode 961. N-Repeated Element in Size 2N Array (重复 N 次的元素)

    题目标签:HashMap 题目给了我们一个size 为 2N 的int array,其中有 N + 1 个唯一的 数字,让我们找出那个重复的数字. 利用hashset,把每一个数字存入,一旦发现有重复 ...

  9. poj 3020 Antenna Placement(二分无向图 匈牙利)

    Antenna Placement Time Limit: 1000MS   Memory Limit: 65536K Total Submissions: 6438   Accepted: 3176 ...

  10. GitHub 高速上手 ---- 创建密钥,连接

    首先要在GitHub上创建一个帐号,因为本地Git仓库和GitHub仓库之间的传输是通过SSH加密的,所以要在本地生成一个私钥和一个密钥 命令,后面跟的邮箱.要跟你自己的:增加输出的位置:能够不用设置 ...