Git新手上路,让你快速掌握Git的基本使用
1.注册账户以及创建仓库
要想使用github第一步当然是注册github账号了。之后就可以创建仓库了(免费用户只能建公共仓库),Create a NewRepository,填好名称后Create,之后会出现一些仓库的配置信息,这也是一个git的简单教程。
2.安装客户端tortoiseGit
github是服务端,要想在自己电脑上使用git我们还需要一个git客户端,我这里选用TortoiseGit,他给我们提供了图形界面的操作。在安装之前首先需要安装git,下载地址http://msysgit.github.com/,TortoiseGit下载地址:
http://code.google.com/p/tortoisegit
3.创建版本库
创建一个版本库非常简单,首先,选择一个合适的地方,创建一个空目录:
$ mkdir learngit (目录可以自己选择:D/Mine)
$ cd learngit(目录可以自己选择:D/Mine)
$ pwd
/Users/michael/learngit
pwd命令用于显示当前目录。这个仓库位于/Users/michael/learngit。
如果你使用Windows系统,为了避免遇到各种莫名其妙的问题,请确保目录名(包括父目录)不包含中文。
第二步,通过git init命令把这个目录变成Git可以管理的仓库:
$ git init
Initialized empty Git repository in /Users/michael/learngit/.git/
瞬间Git就把仓库建好了,而且告诉你是一个空的仓库(empty Git repository),细心的读者可以发现当前目录下多了一个.git的目录,这个目录是Git来跟踪管理版本库的,没事千万不要手动修改这个目录里面的文件,不然改乱了,就把Git仓库给破坏了。
如果你没有看到.git目录,那是因为这个目录默认是隐藏的。
在现有仓库创建版本库:
在本地仓库里右键选择Git InitHere,会多出来一个.git文件夹,这就表示本地git创建成功。
右键GitBash进入git命令行,为了把本地的仓库传到github,还需要配置ssh key。
在github首页的右上角,点击红框中的Create New Repo。

进入新建仓库的界面

填一下仓库名称,Initialize this repository with a README是可选的,不过本人建议最好选上,可以在后面省一个步骤。填好之后,点Create repository就行了。
4.配置Git
(1) 首先在本地创建ssh key;
$ ssh-keygen-t rsa -C "your_email@youremail.com"
后面的your_email@youremail.com改为你的邮箱,之后会要求确认路径和输入密码,我们这使用默认的一路回车就行。成功的话会在~/下生成.ssh文件夹,进去,打开id_rsa.pub,复制里面的key。回到github,进入AccountSettings,左边选择SSH
Keys,Add SSH Key,title随便填,粘贴key。

(2)为了验证是否成功,在gitbash下输入:
在初始化版本库之前,先要确认认证的公钥是否正确,如下:
ssh -T git@github.com
正确地结果如下:
Warning: Permanently added 'github.com,207.97.227.239' (RSA) to the list of known hosts.
Hi findingsea! You've successfully authenticated, but GitHub does not provide shell access.
会有一个Warning,不用理会
如果是第一次的会提示是否continue,输入yes就会看到:You’vesuccessfully authenticated, but GitHub does not provide shellaccess 。这就表示已成功连上github。
(3)接下来我们要做的就是把本地仓库传到github上去,在此之前还需要设置username和email,因为github每次commit都会记录他们。
$ git config --global user.name "your name"
$ gitconfig --global user.email "your_email@youremail.com"
(4)接下来对库进行clone,如下:
git clone https://github.com/findingsea/myRepoForBlog.git
上面的地址可以在如下界面找到:

clone成功如下:
Cloning into 'myRepoForBlog'...
Warning: Permanently added 'github.com,207.97.227.239' (RSA) to the list of known hosts.
remote: Counting objects: 3, done.
remote: Total 3 (delta 0), reused 0 (delta 0)
Receiving objects: 100% (3/3), done.
后面的findingsea和myRepoForBlog表示你再github的用户名和刚才新建的仓库,加完之后进入.git,打开config,这里会多出一个remote“origin”内容,这就是刚才添加的远程地址,也可以直接修改config来配置远程地址。
5.上传README.md文件
这个时候,我们的GitHub文件夹下就多了一个myRepoForBlog文件夹,进入文件夹目录,对仓库进行初始化,如果我们之前没有勾选创建README,则要先创建README.md文件,不然上传文件会报错。如果在第一步就勾选过了
,则可以直接进入下一步。
git init
touch README.md
git add README.md
git commit -m 'first_commit'
git remote add origin https://github.com/findingsea/myRepoForBlog.git
git push origin master
6.push文件
创建完README.md后,就可以push了,代码类似。
git add .
git commit -m 'first_commit'
git remote add origin https://github.com/findingsea/myRepoForBlog.git
git push origin master
如果执行git remote add origin https://github.com/findingsea/myRepoForBlog.git,出现错误:
fatal: remote origin already exists
则执行以下语句:
git remote rm origin
再往后执行git remote add originhttps://github.com/findingsea/myRepoForBlog.git 即可。
在执行git push origin master时,报错:
error:failed to push som refs to.......
则执行以下语句:
git pull origin master
先把远程服务器github上面的文件拉先来,再push 上去。
PS: .gitignore文件
.gitignore顾名思义就是告诉git需要忽略的文件,这是一个很重要并且很实用的文件。一般我们写完代码后会执行编译、调试等操作,这期间会产生很多中间文件和可执行文件,这些都不是代码文件,是不需要git来管理的。我们在gitstatus的时候会看到很多这样的文件,如果用git add-A来添加的话会把他们都加进去,而手动一个个添加的话也太麻烦了。这时我们就需要.gitignore了。比如一般c#的项目我的.gitignore是这样写的:
bin
.suo
obj
bin和obj是编译目录,里面都不是源代码,忽略;suo文件是vs2010的配置文件,不需要。这样你在gitstatus的时候就只会看到源代码文件了,就可以放心的git add -A了。
gitpush命令会将本地仓库推送到远程服务器。
git pull命令则相反。
修改完代码后,使用gitstatus可以查看文件的差别,使用git add 添加要commit的文件,也可以用git add -i来智能添加文件。之后gitcommit提交本次修改,git push上传到github。
Git新手上路,让你快速掌握Git的基本使用的更多相关文章
- 【Git】2、Linux快速安装Git环境 & oh-my-zsh
Linux快速安装Git环境 文章目录 Linux快速安装Git环境 1.Linux安装Git 2.安装zsh 3.安装oh-my-zsh 3.1.安装oh-my-zsh 3.2. 测试验证 4.小结 ...
- git新手入门问题总结
git新手入门问题总结 前言 本人为2019年6月份刚刚毕业,大三暑假中旬来到上海,实习时间大致为十个月,在这十个月里面学到了许多关于git使用方面的知识 经常会逛开源中国水水动态,看看技术帖子学习知 ...
- 使用SSH快速下载Git项目
文章首发于[博客园-陈树义],点击跳转到原文使用SSH快速下载Git项目. Git下载项目的几种方式 Git是常用的代码版本技术,而GitLab则是开源的Git版本管理软件,GitLab是最受欢迎的版 ...
- Dart语言快速学习上手(新手上路)
Dart语言快速学习上手(新手上路) // 声明返回值 int add(int a, int b) { return a + b; } // 不声明返回值 add2(int a, int b) { r ...
- 学习git 新手。这个写的不错
转自:https://www.cnblogs.com/wupeiqi/p/7295372.html 版本控制 说到版本控制,脑海里总会浮现大学毕业是写毕业论文的场景,你电脑上的毕业论文一定出现过这番景 ...
- Git 快速入门--Git 基础
Git 快速入门 Git 基础 那么,简单地说,Git 究竟是怎样的一个系统呢? 请注意接下来的内容非常重要,若你理解了 Git 的思想和基本工作原理,用起来就会知其所以然,游刃有余. 在开始学习 G ...
- 配置一个高效快速的Git环境
username and email editor difftool and mergetool alias 可以直接修改~/.gitconfig文件,也可以用命令配置一个可以实际使用的高效的Git环 ...
- git新手使用教程包含各种系统
Git Tutorial 1.下载客户端 从Git官网下载客户端: https://git-scm.com/ Windows版下载地址: https://git-scm.com/downl ...
- 如何快速学会git
相信大多数入门者都对git的原理比较恍惚,今天我们来告诉大家如何快速学会git命令. 1.git init 这个命令会在当前目录里创建一个.git目录,也就是初始化本地仓库.git. 如图先创建文件夹 ...
随机推荐
- Kali信息收集-DNS
1.whois查询 直接在终端输入whois 域名 2.查找dns服务器 (1)host (2)dig (3)nslookup 3.域传输 4.域名枚举 (1)dnsdict6 kali没有集成这款工 ...
- HDU 3062 Party(2-SAT模版题)
Problem Description 有n对夫妻被邀请参加一个聚会,因为场地的问题,每对夫妻中只有1人可以列席.在2n 个人中,某些人之间有着很大的矛盾(当然夫妻之间是没有矛盾的),有矛盾的2个人是 ...
- Thunder团队第三周 - Scrum会议6
Scrum会议6 小组名称:Thunder 项目名称:i阅app Scrum Master:宋雨 工作照片: 代秋彤照相,所以图片中没有该同学. 参会成员: 王航:http://www.cnblogs ...
- php中array_map和array_walk的使用对比
一.array_map() 1.array_map() 函数将用户自定义函数作用到数组中的每个值上,并返回用户自定义函数作用后的带有新值的数组,若函数作用后无返回值,则对应的新值数组中为空. 2.回调 ...
- 算法与数据结构实验题 4.2 小 F 打怪
★实验任务 小 F 很爱打怪,今天因为系统 bug,他提前得知了 n 只怪的出现顺序以及击 倒每只怪得到的成就值 ai.设第一只怪出现的时间为第 1 秒,这个游戏每过 1 秒 钟出现一只新怪且没被击倒 ...
- JSON解析与序列化
JSON之所以流行,拥有与JavaScript类似的语法并不是全部原因.更重要的一个原因是,可以把JSON数据结构解析为有用的 JavaScript对象.与XML数据结构要解析成DOM文档而且从中提取 ...
- 织梦CMS建站入门学习(一)
一.下载与安装. 首先到织梦官网下载软件,可选择UTF8或GBK不同编码格式,如果电脑没有PHP环境,还要下载dede自带的PHP环境软件. 将软件中的upload文件夹内容复制到WWW文件夹下,然后 ...
- 【EF】Entity Framework Core 2.0 特性介绍和使用指南
阅读目录 前言 获取和使用 新特性 项目升级和核心API变化 下一步计划 遗憾的地方 回到目录 前言 这是.Net Core 2.0生态生态介绍的最后一篇,EF一直是我喜欢的一个ORM框架,随着版本升 ...
- poj1065-Wooden Sticks
题目 有很多小木棍需要机器处理.每个小木棍有重量和长度两个属性.不断把小木棍放入机器中,如果小木棍\(a\)放完后放入小木棍\(b\),那么如果\(a.weight<=b.weight\ and ...
- BZOJ 1040 骑士(环套树DP)
如果m=n-1,显然这就是一个经典的树形dp. 现在是m=n,这是一个环套树森林,破掉这个环后,就成了一个树,那么这条破开的边连接的两个顶点不能同时选择.我们可以对这两个点进行两次树形DP根不选的情况 ...