使用命令安装git
babao@babao:~$ sudo apt-get install git
babao@babao:~$ sudo apt-get install git-core
使用命令配置用户基本信息
babao@babao:~$ git config --global user.name "Babao"
babao@babao:~$ git config --global user.email "[email protected]"
使用命令查看配置
babao@babao:~$ git config --list
使用命令生成SSH Key
babao@babao:~$ ssh-keygen -t rsa
输入命令之后会提示你秘钥存放的路径,直接回车使用默认路径。
Generating public/private rsa key pair.
Enter file in which to save the key (/home/babao/.ssh/id_rsa):
Created directory '/home/babao/.ssh'.
选择路径后会让你设置一个提交时使用的秘钥,也可以直接回车不设置。
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /home/babao/.ssh/id_rsa.
Your public key has been saved in /home/babao/.ssh/id_rsa.pub.
这时候会生成~/.ssh目录,目录下面有id_rsa和id_rsa.pub两个文件,id_rsa为私钥,id_rsa.pub为公钥。
进入个人setting页面,选择SSH and GPG keys,然后点击New SSH Key
设置一个标题用于区分不同主机上的SSH,将刚刚生成的公钥id_rsa.pub文件的内容复制到下方即可
五、创建GitHub项目
这里创建一个demo仓库作为例子。仓库名称一定要和本地项目名称相同。
第一种方法可以直接使用git将GitHub上的项目clone下来。
第二种是在本地创建新的仓库,一定要保证本地仓库名字与GitHub上的相同,使用如下命令
babao@babao:~/001_workspace$ mkdir demo
babao@babao:~/001_workspace$ cd demo/
babao@babao:~/001_workspace/demo$ git init
初始化空的 Git 仓库于 /home/babao/001_workspace/demo/.git/
添加一个hello.cpp文件之后,使用add命令增加修改,使用cimmit命令提交修改,-m参数用于指定注释
babao@babao:~/001_workspace/demo$ git add .
babao@babao:~/001_workspace/demo$ git commit -m "初始化仓库"
[master (根提交) b35482c] 初始化仓库
1 file changed, 7 insertions(+)
create mode 100644 hello.cpp
在GitHub中进入你的仓库,选择Clone with SSH,复制其中的地址
通过命令在本地git添加提交路径
babao@babao:~/001_workspace/demo$ git remote add demo [email protected]:iambabao/Demo.git
add之后跟的是提交时的别名,可以和仓库名称不同。
使用如下命令验证是否链接正确
babao@babao:~/001_workspace/demo$ ssh -T [email protected]
Hi iambabao! You've successfully authenticated, but GitHub does not provide shell access.
最后提交到GitHub上
babao@babao:~/001_workspace/demo$ git push -u demo master
对象计数中: 3, 完成.
Delta compression using up to 4 threads.
压缩对象中: 100% (3/3), 完成.
写入对象中: 100% (3/3), 359 bytes | 0 bytes/s, 完成.
Total 3 (delta 0), reused 0 (delta 0)
To [email protected]:iambabao/demo.git
150e674..3231f08 master -> master
分支 master 设置为跟踪来自 demo 的远程分支 master。