1. 安装git
进入root模式,输入
yum install git
完成后,查看git版本
git version
如果能正确显示,则说明安装完成。
2. 生成SSH Key
首先安装SSH。Linux一般是默认安装了的,可以输入ssh
检验一下
出现这个,说明已安装SSH。
输入ssh-keygen -t rsa
命令,再连续按三次回车
这时会生成id_rsa
和id_rsa.pub
两个文件,分别是本地密钥和公钥。直接进入以下目录可以看到:
cd ~/.ssh
再输入vim id_rsa.pub
进入id_rsa.pub编辑界面,复制公钥,进入下一步。
3. 绑定GitHub
进入GitHub自己的GitHub主页,点击右上角头像旁边的小三角,选择Settings
选择SSH and GPG Keys
,点击New SSH Key
,进入输入界面
此时,进入编辑界面,在“Key”栏目粘贴上一步得到的公钥,再点击Add SSH key 即可
检验是否添加成功:
在命令行钟输入ssh -T git@github.com
,如果显示
说明添加成功啦。
4. 克隆GitHub项目到本地
常见的克隆方式有:
git clone git@github.com:xxx/project_name.git ##以SSH方式克隆
git clone https://github.com/xxx/project_name.git ##以https方式
可以在GitHub的项目界面中选择Clone or download
,复制链接,在合适的目录下输入以上指令即可。
输入完毕后,可以看到目录下出现了该项目。
注意,如果是fork别人的项目,一定要用自己的repositories中的项目链接来git clone。如果复制了别人的链接,我们在提交代码的时候是没有权限的。
5. 向GitHub提交项目
首先要进行全局配置,输入以下指令
git config --global user.name 'your name'
git config --global user.email 'your email address'
一定要配置哦,不然在git commit
或者git push
的时候都会报错。
接下来就是对项目进行修改
修改完毕后,使用git add -A
指令简单粗暴地将所有文件添加到暂存区。
使用git status
指令查看项目状态:
$ git status
On branch master #git自动为我们创建的分支
Changes not staged for commit: #有修改,还没有添加进stage区(即暂存区)
(use "git add <file>..." to update what will be committed)
(use "git checkout -- <file>..." to discard changes in working directory)
modified: file1
Untracked files: #从来没有被添加过的文件
(use "git add <file>..." to include in what will be committed)
file2
no changes added to commit (use "git add" and/or "git commit -a")
上面的文件file1是添加过但是有修改的文件;file2是从未添加过的文件。git控制一共有两个区域:
第一,工作区——我们直接进行修改的地方,file1和file2都在工作区。
第二,版本库——又分为stage区域(暂存区)和Master分支区域。
上面的git add
指令就是将工作区的文件添加到暂存区,接下来我们用git commit指令将暂存区的文件提交到Master分支。
git commit -m "your messages" #提交到Master分支,并注明相关更新信息
最后,使用以下指令提交到GitHub(链接和clone的时候一样)
git push git@github.com:xxx/project_name.git ##以SSH方式
git push https://github.com/xxx/project_name.git ##以https方式
注意一定要先git commit
再git push
,否则会报错。
然后输入GitHub的账号密码,就可以在GitHub上看到自己的提交了。
总结一下最常见的指令吧:
//从GitHub上将项目克隆到本地
git clone xxxx.git
//在本地做修改
//将所有文件添加到暂存区
git add -A
//查看git状态
git status
//提交到Master分支
git commit -m "your messages"
//向GitHub提交
git push xxxx.git