配置 GitHub
- 进入 https://github.com/settings/keys
- 如果页面里已经有一些 key,就点「delete」按钮把这些 key 全删掉。如果没有,就往下看
- 点击 New SSH key,你需要输入 Title 和 Key,但是你现在没有 key,往下看
- 打开 Git Bash
- 复制并运行
rm -rf ~/.ssh/*
把现有的 ssh key 都删掉,这句命令行如果你多打一个空格,可能就要重装系统了,建议复制运行。 - 运行
ssh-keygen -t rsa -b 4096 -C "你的邮箱"
,注意填写你的邮箱! - 按回车三次
- 运行
cat ~/.ssh/id_rsa.pub
,得到一串东西,完整的复制这串东西 - 回到上面第 3 步的页面,在 Title 输入「我的第一个 key」
- 在 Key 里粘贴刚刚你你复制的那串东西
- 点击 Add SSH key
- 回到 Git Bash
- 运行
ssh -T git@github.com
,你可能会看到这样的提示,输入 yes - 然后如果你看到
Permission denied (publickey).
就说明你失败了,请回到第 1 步重来,是的,回到第 1 步重来;如果你看到Hi FrankFang! You've successfully authenticated, but GitHub does not provide shell access.
就说明你成功了!
配置 Git
// 英文名,不需要跟 GitHub 保持一致
git config --global user.name
// 邮箱,不需要跟 GitHub 保持一致
git config --global user.email
git config --global push.default matching
git config --global core.quotepath false
git config --global core.editor "vim"
在 GitHub 创建一个仓库,然后下载到本地
当然你也可以选择本地仓库上传到 GitHub,不过还要新建一个空仓库,不如直接建一个有初始信息的仓库,更方便些
- 在GitHub 上新建一个仓库 git-demo-2,这次就不创建空仓库了,而是自带 README 和 Lisence 的仓库,创建。
- 这样一来,这个仓库就会自动拥有三个文件。
- 这三个文件的作用请自行了解:
、
README.md 的作用www.jianshu.com以及
如何选择开源许可证? - 阮一峰的网络日志www.ruanyifeng.com![04f39c36766d18a84c9a53758d662442.png](https://i-blog.csdnimg.cn/blog_migrate/ef3fd6a7b282e4ae465f02d4e346ec96.png)
现在远程仓库已经创建好了,怎么下载到我们的本地(也就是我们的电脑上)呢?答案是使用 git clone 命令.
点击页面中唯一的绿色按钮「clone or download」,会看到一个弹出层。
打开 Git Bash,找一个安全的目录,比如 ~/Desktop 桌面目录就很安全:cd ~/Desktop
。运行。
运行 git clone 你刚才得到的以git@github.com开头的地址
,运行完了你就会发现,桌面上多出一个 git-demo-2 目录。
进入这个多出来的目录,进行一些基本的 Git 操作。
git init
创建一个空的 Git 仓库或重新初始化一个现有仓库。
其实就是通过创建版本库(.git)文件,告知 git 此文件夹已经处于 git 的版本控制之下。
git 获得目标文件夹的所有权,对其进行 add、commit、pull 等一些列操作。
# 打开文件夹
cd test
# 初始化
git init
# 查看是否有 .git 文件夹
ls -a
git add
将修改的文件提交到 暂存区,此时,暂存库(stage)中会存有之前 add 的文件。
执行 git add 命令的时候,通过hash函数算出文件名对应的sha-1值,这个值是一个32位的16进制数。
git 会取这个值的前两位作为文件夹名在 .git/objects 文件夹中创建一个文件夹,取值的后30位作为文件名,在.git/objects/文件夹中创建一个文件,git会将原文件内容通过一定的压缩保存在这个文件中。
# 改动文件
start test.txt
# 查看变动(文件前?)
git status -sb
# 添加单个文件
git add test.txt
# 添加所有改动文件
git add .
# 查看变动(文件前 A)
git status -sb
git commit -m
上面我们将文件添加到暂存区,现在我们使用 git commit -m 将文件提交到缓存区。
git commit --message <msg>
msg为本次提交操作的注释信息。
在将文件 git add <file>
操作后,我在进行git commit <file>
操作时,事实上是先对add
进 Staged Snapshot
来的文件进行拍照(快照),然后提交给 Commit History
。
# 查看变动(文件前红 A)
git status -sb
# 提交所有改动文件到缓存区
git commit -m "test"
# 查看变动(文件前绿 A)
git status -sb