GitHub:Git的使用
1.下载安装后设置姓名和邮箱地址
$ git config --global user.name "yourGithubName"
$ git config --global user.name "yourEmail@example.com"
2.设置SSH Key
$ ssh-keygen -t rsa -C "yourEmail@example.com" # 回车 。。 输入密码。。再次输入密码
然后私钥会生成存放在主目录(一般是C:\user\..\.ssh\)下的id_rsa
公钥会存放在同一目录下的id_rsa.pub,可以使用记事本打开它,然后复制
接着在Github上的设置里新建一个SSH Key,命名后把公钥粘贴在指定框里
添加成功后会,账户邮箱会收到一个邮件,可以不管。
然后就可以和Github进行认证和通信了。
$ ssh -T git@github.com
#。。yes。。可能要输入密码
出现 Hi xxx! You've successfully ...字样的就是成功地和Github进行了认证了,以后不用认证了,但可能要输入密码,就是刚刚设置的那个。
3.使用Git进行clone
首先在Github上新建一个repository,命名例如HelloGit,选择生成README,然后打开Git把它clone到本地:
$ git clone git@github.com:whlook/hellogit.git
4.将本地新建的文件上传到GitHub
在clone后的项目目录下新建一个文件如 test.c
然后打开Git查看本地项目的状态,由于test.c还没有添加到Git仓库,所以显示为Untracked
$ cd hellogit
$ git status
使用add和commit命令来将test.c添加到Git仓库然后推到GitHub上
$ git add test.c #添加到暂存区
$ git commit -m "add cpp" #添加到本地仓库
$ git push #更新到GitHub上的仓库
查看一下GitHub上是否更新:
5.更改目录
git工作树根目录默认在c盘,可以手动更改到其他地方。
配置环境变量,添加HOME,值为目标目录
然后将相关的配置文件如.gitconfig等复制到该目录
把Git Bash的属性中的起始位置修改到该目录
6.创建本地仓库并上传到Github
打开git的bash后,cd到准备创建本地仓库的地方,然后使用mkdir创建:
mkdir remoteTest
然后cd到 remoteTest目录下,使用 init 命令初始化该文件夹成为git仓库
git init #初始化git仓库
在remoteTest目录下新建一个readme.md文件,回到bash将它添加到暂存区和仓库:
git add readme.md #添加到暂存区 git commit -m"added readme" #添加到本地分支
这时候还不能 push,需要打开github新建一个空仓库remoteTest(也不要添加README),然后回到bash进行连接:
git remote add origin git@github.com:whlook/remoteTest.git #添加远程仓库(github)
然后这时候可以提交,这次提交和普通提交不一样:
git push -u origin master
现在就完成了本地仓库的上传。
7.命令整理
git clone git@github.com:xxx/yy.git #clone 项目到本地 git status #查看最新的状态,是否有更改等 git add xx.xx #添加文件xx.xx到本地暂存区 git add -A #增加所有文件到本地暂存区 git diff #查看当前的工作树与本地暂存区的区别(git add) git diff HEAD #查看与上次提交的区别(git commit) git commit -m"describe to the update" #提交到本地仓库并添加评论 git push #提交到GitHub git pull #将GitHub上的该仓库拉取到本地 git branch #查看当前所有的分支,*号所在的即为当前工作分支 git branch newBranchName #创建名字为newBranchName的新分支,但HEAD仍停留在当前分支 git branch -d newBranchName #删除名字为newBranchName的分支 git checkout -b newBranchName #创建名字为newBranchName的新分支并切换到该分支 git checkout branchName #切换到名为branchName的现有分支 #在commit之前所做更改对其他branch可见 git checkout <file> #撤销该文件的更改(在git add 之前),该命令需谨慎使用 git merge --no-ff branchName #切换到master后使用该命令,会将branchName合并到master # --no-ff 可以保存分支的历史,而直接merge 不行 git log --graph #以图表形式查看分支 touch xx.txt #在目录下生成文件 xx.txt git tag 'label' #给该次commit打标签 git tag #显示所有标签 git show label #显示标签为label的当次commit信息
8. 其他
在目录下创建文件.gitignore,里面加入需要屏蔽的文件格式,使得git不去跟踪这类文件。
GitHub:Git的使用的更多相关文章
- GitBook是一个命令行工具(Node.js库),我们可以借用该工具使用Github/Git和Markdown来制作精美的图书,但它并不是一本关于Git的教程哟。
GitBook是一个命令行工具(Node.js库),我们可以借用该工具使用Github/Git和Markdown来制作精美的图书,但它并不是一本关于Git的教程哟. 支持输出多种格式 GitBook支 ...
- GitHub git 命令思维导图
GitHub git 命令思维导图 拖动图片至浏览器地址栏松手,点击回车看高清大图.
- GitHub & Git 基础 (YouTube中文翻译版)
GitHub & Git 基础系列视频 播放列表 由于视频资源在YouTube上,可能需要FQ:https://code.google.com/p/chromeplus/ 视频包括以下内容 1 ...
- github git clone ssh协议 clone超慢解决方案,提高Github Clone速度
即使进行了fq吧但是git clone ssh协议就是慢 2kb/s你能忍,坚决不能忍. github git clone ssh协议 clone超慢解决方案 151.101.72.249 globa ...
- git & github & git clone & 'git clone' failed with status 128
git & github & git clone & 'git clone' failed with status 128 'git clone' failed with st ...
- github git 在GitHub上创建项目并将本地项目push到网站上
众所周知,git是与svn类似的版本控制系统,git的去中心化.分布式等的优点,在不久将来用户量大有可能超过svn, 常见的代码托管网站有GitHub,coding.net, gitee.com 码云 ...
- github=>git=>composer Packages 使用教程
2018年12月17日14:32:05 因为要做搜索,所以需要用分词工具php的分词不借助的第三方的真的很少, 目前选择的是 http://www.phpbone.com/phpanalysis/ 但 ...
- GItHub Git 基础教程 常用命令 命令
最近复习了一下Git的使用,简单总结了一些.以供以后查阅和大家参考. 一,安装 首先是Linux下: 打开shell ,输入 sudo apt-get install git-core 之后回车输入密 ...
- [git/GitHub] git push 时报错:fatal: remote error: You can't push to git://github.com/user/xxx.git(已解决)
当使用 git push 时,提示以下错误: fatal: remote error: You can't push to git://github.com/user/xxx.git Use ht ...
随机推荐
- CDOJ 1287 MC挖矿世界(Spfa+set优化)
题目大意:原题链接 解题思路:此题要求多点最短距离,但是直接套用floyd会超时. 然后我们想直接从每一个点开始bfs就好了,但是还是会TLE,为什么呢? 因为你访问了很多次没有意义的地方,因为有些点 ...
- hash值是啥,单页面应用的实质
1.什么hash Location hash属性,http://www.runoob.com/jsref/prop-loc-hash.html,hash 属性是一个可读可写的字符串,该字符串是 URL ...
- Kattis - bank 【简单DP】
Kattis - bank [简单DP] Description Oliver is a manager of a bank near KTH and wants to close soon. The ...
- C++切割字符串
std::string text = "2001_1;2005_5;"; std::stringstream ss(text); std::string sub_str; std: ...
- Python的socket网络编程(一)
(注:本文部分内容摘自互联网,由于作者水平有限,不足之处,还望留言指正.) 先写首诗,抒抒情. 一. 食堂.校园 见过你那么多次 卑微的我 只敢偷偷瞄上一眼 心扑通 扑通 春天真好 不是么 二. 学子 ...
- iOS跳转到Touch ID设置界面
1.首先去info.plist 设置: 2.代码 NSURL *url = [NSURL URLWithString:@"App-Prefs:root=TOUCHID_PASSCODE&qu ...
- dubbo-admin 监控中心 部署
dubbo-admin部署 下载: GitHub:https://github.com/search?q=dubbo-admin 百度网盘: 链接:https://pan.baidu.com/s/1v ...
- 【DeepLearning学习笔记】Neurons神经元
今天找到一个比较好的deep learning的教材:Neural Networks and Deep Learning 对神经网络有详细的讲解,鉴于自己青年痴呆,还是总结下笔记吧=.= Percep ...
- Redis 数据结构-字符串源码分析
相关文章 Redis 初探-安装与使用 Redis常用指令 本文将从以下几个部分进行介绍 1.前言 2.常用命令 3.字符串结构 4.字符串实现 5.命令是如果操作字符串的 前言 平时在使用 Redi ...
- Object类包含方法
9个方法: 1. clone() 2. equals() 3. finalize() 4. getClass() 5. notify() 6. notifyAll() 备注:5.6多归于一个 7. h ...