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的使用的更多相关文章

  1. GitBook是一个命令行工具(Node.js库),我们可以借用该工具使用Github/Git和Markdown来制作精美的图书,但它并不是一本关于Git的教程哟。

    GitBook是一个命令行工具(Node.js库),我们可以借用该工具使用Github/Git和Markdown来制作精美的图书,但它并不是一本关于Git的教程哟. 支持输出多种格式 GitBook支 ...

  2. GitHub git 命令思维导图

    GitHub git 命令思维导图 拖动图片至浏览器地址栏松手,点击回车看高清大图.

  3. GitHub & Git 基础 (YouTube中文翻译版)

    GitHub & Git 基础系列视频 播放列表 由于视频资源在YouTube上,可能需要FQ:https://code.google.com/p/chromeplus/ 视频包括以下内容 1 ...

  4. github git clone ssh协议 clone超慢解决方案,提高Github Clone速度

    即使进行了fq吧但是git clone ssh协议就是慢 2kb/s你能忍,坚决不能忍. github git clone ssh协议 clone超慢解决方案 151.101.72.249 globa ...

  5. 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 ...

  6. github git 在GitHub上创建项目并将本地项目push到网站上

    众所周知,git是与svn类似的版本控制系统,git的去中心化.分布式等的优点,在不久将来用户量大有可能超过svn, 常见的代码托管网站有GitHub,coding.net, gitee.com 码云 ...

  7. github=>git=>composer Packages 使用教程

    2018年12月17日14:32:05 因为要做搜索,所以需要用分词工具php的分词不借助的第三方的真的很少, 目前选择的是 http://www.phpbone.com/phpanalysis/ 但 ...

  8. GItHub Git 基础教程 常用命令 命令

    最近复习了一下Git的使用,简单总结了一些.以供以后查阅和大家参考. 一,安装 首先是Linux下: 打开shell ,输入 sudo apt-get install git-core 之后回车输入密 ...

  9. [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 ...

随机推荐

  1. filebeat+logstash通过zabbix微信报警

    一.安装软件: 1.在要收集日志的机器上安装filebeat: 1).下载安装: cd /usr/local/src wget https://artifacts.elastic.co/downloa ...

  2. 2017浙江省赛 B - Problem Preparation ZOJ - 3959

    地址:http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemCode=3959 题目: It's time to prepare the pr ...

  3. httpfs的使用

    在项目中使用到hdfs作为存储,为了在不同的节点加载hdfs上的数据,我们使用nfsv3服务,在客户端使用 root来mount hdfs上的数据到本地,然后把本地的数据发到hdfs上,因为这个我们的 ...

  4. git 移除某个文件的版本管理

    1:最简单的,在项目刚创建的时候,在根目录的.gitignore,加入该文件的相对路径 2:已经被纳入到了版本控制,使用在当前目录下,打开cmd窗口 输入rm命令,加上文件的绝对路径(相对路径没试过) ...

  5. Linux查看端口占用情况,并强制释放占用的端口

    1.查找被占用的端口 netstat -tln netstat -tln | grep 8080 netstat -tln 查看端口使用情况,而netstat -tln | grep 8080则是只查 ...

  6. ARKit 研究笔记一

    软件需求:Xcode9.x .blender 硬件需求:iphone 6s + 系统:iOS 11 + 技能储备: ARKit .SceneKit(苹果提供的3d游戏库) 或 SpriteKit(苹果 ...

  7. app安全研究

    国内Android App在线漏洞检测平台  腾讯金刚审计系统 http://service.security.tencent.com/kingkong 免费 无限制 腾讯御安全 http://yaq ...

  8. WeX5基础

    最近在研究微信app开发,使用的是WeX5,在这里把一些基础知识点记录下来,忘记了可以翻阅查看. 一:开发后端服务 1.建立数据源:窗口--首选项--studio配置--数据源--增加--数据源类型选 ...

  9. SQL执行并返回执行前/后结果

    SQLServer: 1.插入数据,并返回插入的数据: INSERT INTO TestTB(Province,City) output inserted.Province, inserted.Cit ...

  10. Python面试题目之(针对dict或者set数据类型)边遍历 边修改 报错dictionary changed size during iteration

    # result 是一个字典, 把里面属性值是None的属性删除 for key in result: if not result[key]: del result[key] continue 但是报 ...