git安装
centos 7安装git很简单,直接使用yum install -y git
即可。
安装完成之后配置信息1
2git config --global user.name "rosinelan"
git config --global user.email "mqwanghui327@hotmail.com"
global
表示全局配置,所有该机器每次提交的文件默认为该用户。
创建版本库
安装完成之后创建版本库。
创建一个目录用于存放文件。
1
2mkdir /studypy
cd /studypy使用
git init
命令将该目录变成git可管理的仓库。1
git init
出现提示信息Initialized empty Git repository in /studypy/.git/
说明成功初始化。
此时该目录下会新增一个.git
目录,该目录是git用来跟踪管理版本库的,不可手动修改。
- 将文件添加到版本库。
新建一个名字为1.py
的文件,内容如下1
2
3
4
5
6
7
8
9#!/usr/bin/python
num1 = input("Please a number:")
num2 = input("Please a number:")
print "%s + %s = %s" %(num1,num2,num1+num2)
print "%s - %s = %s" %(num1,num2,num1-num2)
print "%s * %s = %s" %(num1,num2,num1*num2)
print "%s / %s = %s" %(num1,num2,num1/num2)
该文件一定要位于/studypy
目录下面,然后执行下面命令。1
2git add 1.py
git commit -m "wtote a python file"
出现提示信息[master (root-commit) 1cb292d] wtote a python file
1 file changed, 10 insertions(+)
create mode 100644 1.py
。git add
为添加文件至仓库,可多次添加;git commit
为提交文件至仓库,一次可提交多个文件,-m
命令为添加提交文件的说明信息。
添加远程仓库
github配置ssh连接
注册github账号,然后配置机器和github的ssh,用于文件传输。1
ssh-keygen -t rsa -C "mqwanghui327@hotmail.com"
创建完成之后可以在/root/.ssh/
目录查看公钥文件id_rsa.pub
。
登录github,点击右上角头像,选择Settings
,然后选择SSH and GPG keys
。
点击New SSH key
,添加对应的公钥。
添加之后使用下面命令测试公钥添加是否成功。1
ssh -T git@github.com
若出现下面的提示信息说明添加正确。Hi rosinelan! You've successfully authenticated, but GitHub does not provide shell access.
github创建远程仓库
接下来我们在github创建一个远程仓库,然后将远程仓库和本地仓库关联,最后将本地仓库的内容推送至远程仓库。
- 创建远程仓库
在github创建新建仓库,通过右上角的+
,选择New repository
即可新建。
创建完成之后可以看到下面提示信息 - 关联本地仓库
根据提示信息,在本地仓库studypy
进行下面操作1
git remote add origin git@github.com:rosinelan/studypy.git
上面操作需要在本地仓库studypy
执行,注意切换到/studypy
目录下。
此处origin
是远程仓库的名字,git默认的叫法。
- 推送本地仓库至github远程仓库
执行下面命令将本地仓库内容推送至远程仓库。1
git push -u origin master
此时出现下面提示信息1
2
3
4
5
6
7
8
9
10
11
12Warning: Permanently added the RSA host key for IP address '52.74.223.119' to the list of known hosts.
Counting objects: 3, done.
Compressing objects: 100% (2/2), done.
Writing objects: 100% (3/3), 326 bytes | 0 bytes/s, done.
Total 3 (delta 0), reused 0 (delta 0)
remote:
remote: Create a pull request for 'master' on GitHub by visiting:
remote: https://github.com/rosinelan/studypy/pull/new/master
remote:
To git@github.com:rosinelan/studypy.git
* [new branch] master -> master
Branch master set up to track remote branch master from origin.
提示信息可以看出,当前推送的内容数量,还有就是推送是将本地的master分支推送至远程。
此处git push
使用了参数-u
,意思是将本地master分支推送至远程的新master分支,同时将两者关联起来,以后推送默认就是推送至master分支。第一次使用该参数,之后就不用添加参数。
例如:新建一个README.md
,然后推送至远程仓库。1
echo "studypy" >>README.md
本地仓库提交1
2git add README.md
git commit -m "wrote readme"
提示信息如下说明本地提交成功。1
2
3[master ce31753] wrote readme
1 file changed, 1 insertion(+)
create mode 100644 README.md
推送至远程仓库1
git push origin master
提示如下信息说明提交成功。1
2
3
4
5
6Counting objects: 4, done.
Compressing objects: 100% (2/2), done.
Writing objects: 100% (3/3), 280 bytes | 0 bytes/s, done.
Total 3 (delta 0), reused 0 (delta 0)
To git@github.com:rosinelan/studypy.git
1cb292d..ce31753 master -> master
注意:
假如不使用改参数将两者关联,之后的推送就需要使用下面命令进行1
git push origin master:master
命令格式为git push 远程主机名 本地分支名:远程分支名
。
远程仓库克隆
假如没有本地仓库,想要直接从github拉取文件怎么办呢?远程仓库克隆。
首先在github创建一个远程仓库。
勾选初始化README.md
文件,此时远程仓库创建完成后可以看到该文件。
接下来使用git clone
克隆本地库。1
2cd /
git clone git@github.com:rosinelan/studypy2.git
进入本地的目录/study2
,可以看到README.md
文件。
推荐git学习资源
- 简明指南,快速入手 git - the simple guide
- 常用命令及最佳实践 git cheat sheet
- 进阶学习 Pro git book