如何在本地创建一个仓库并上传到github?如何获取一个SSH key?
1 如何获取一个SSH key
- 为什么要获取SSH key?—因为利用SSH key可以访问你的所有的仓库。
- 一台电脑需要几个SSH key?—每台电脑只需要一个。
- 怎么获取SSH key?—可参照如下步骤:
- 登录GitHub
- 点击页面右上角的头像
- 选择Setting
- 选择SSH and GPG keys
- 点击generating SSH keys
- 点击Generating a new SSH key and adding it to the ssh-agent
- 复制Generating a new SSH key的第一条黑色的命令
ssh-keygen -t rsa -b 4096 -C "your_email@example.com"到GitBash(或终端) - 回车三次后得到一个类似泡泡的东西就说明成功了
- 接着输入
cat ~/.ssh/id_rsa.pub,得到一大串英文,将这段英文复制 - 回到第4步的页面中,点击右上角的绿色按钮”New SSH key”
- 将刚刚复制的东西放到Key下面的文本框,随便编辑一个Title,点击下面的绿色按钮确认添加
- 回到Git Bash(终端),运行
ssh -T git@github.com测试是否成功,得到一个提示让你回复yes/no,输入yes回车 - 如果得到”Permission denied(publickey)”,很遗憾,你失败了,需要从第一步开始重新;如果得到的语句里有”You‘ve successfully authenticated”,那么恭喜,你成功了
- Tips:
ls -al ~/.shh检查本地是否已生成过shh key,如果你已有ssh key,需要重新添加,可在进行以上步骤前在Git Bash(终端)运行rm -rf ~/.ssh/*将现有的ssh key都删掉。 已踩的坑:
在”ssh -T git@github.com”时,遇到如左括号里的代码,一般情况下,输入”ping github.com”即可解决。(错误提示:ssh: Could not resolve hostname github.com: nodename nor servname provided, or not known)
输入”git remote add origin git@github.com:Nolaaaaa/yyy.git”时遇到如左括号里的代码,输入”git remote rm origin”后再重新按步骤输”git remote add origin git@github.com:Nolaaaaa/yyy.git””git push -u origin master”即可。(错误提示:fatal: remote origin already exists.)
2 如何在本地创建一个仓库并上传到github?
1 | $ mkdir blog //在桌面上创建一个叫"blog"的目录 |
ps:
如果add错想撤销add的内容,可使用”git reset HEAD 文件名”;
如果add错又commit了,可使用”reset –hard HEAD^”;
3 GIT工作流
1 | // 其中 branchName 是自己本地的分支名字,originBranchName 是远程的分支名字(不能设置为 master/dev ,会覆盖掉远程的代码) |
4 远程仓库名称改变后修改本地的对应仓库名
1 | $ git remote -v //列出远程仓库信息 |
5 命令行统计自己的代码行数
1 | $ git log --author="yourname" --pretty=tformat: --numstat | awk '{ add += $1; subs += $2; loc += $1 - $2 } END { printf "added lines: %s, removed lines: %s, total lines: %s\n", add, subs, loc }' - |
6 修改git 用户名和邮箱
1 | //修改当前project: |
7 撤销 commit
1 | git reset --soft HEAD^ |
8 解决github文件夹灰色不能点开的问题
1 | // 本地库中,删掉灰色文件夹,保存在别的地方,提交本地文件: |
9 git add . 和 git add * 的区别:
1 | $ git add * git会自动把你当前目录所有修改过的文件添加 |
检查已有的配置信息
1 | $ git config --list |
给git配置别名
1 | // 给 commit 起一个别名 ci |