git安装和使用

git安装

centos 7安装git很简单,直接使用yum install -y git即可。
安装完成之后配置信息

1
2
git config --global user.name "rosinelan"
git config --global user.email "mqwanghui327@hotmail.com"

global表示全局配置,所有该机器每次提交的文件默认为该用户。

创建版本库

安装完成之后创建版本库。

  1. 创建一个目录用于存放文件。

    1
    2
    mkdir /studypy
    cd /studypy
  2. 使用git init命令将该目录变成git可管理的仓库。

    1
    git init

出现提示信息Initialized empty Git repository in /studypy/.git/说明成功初始化。
此时该目录下会新增一个.git目录,该目录是git用来跟踪管理版本库的,不可手动修改。

  1. 将文件添加到版本库。
    新建一个名字为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
2
git 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
gti-ssh-Setting
点击New SSH key,添加对应的公钥。
git-Newsshkey
添加之后使用下面命令测试公钥添加是否成功。

1
ssh -T git@github.com

若出现下面的提示信息说明添加正确。
Hi rosinelan! You've successfully authenticated, but GitHub does not provide shell access.

github创建远程仓库

接下来我们在github创建一个远程仓库,然后将远程仓库和本地仓库关联,最后将本地仓库的内容推送至远程仓库。

  1. 创建远程仓库
    在github创建新建仓库,通过右上角的+,选择New repository即可新建。
    Create new repository
    创建完成之后可以看到下面提示信息
    new repository info
  2. 关联本地仓库
    根据提示信息,在本地仓库studypy进行下面操作
    1
    git remote add origin git@github.com:rosinelan/studypy.git

上面操作需要在本地仓库studypy执行,注意切换到/studypy目录下。
此处origin是远程仓库的名字,git默认的叫法。

  1. 推送本地仓库至github远程仓库
    执行下面命令将本地仓库内容推送至远程仓库。
    1
    git push -u origin master

此时出现下面提示信息

1
2
3
4
5
6
7
8
9
10
11
12
Warning: 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
2
git 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
6
Counting 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创建一个远程仓库。
git-origin-creat
勾选初始化README.md文件,此时远程仓库创建完成后可以看到该文件。
接下来使用git clone克隆本地库。

1
2
cd /
git clone git@github.com:rosinelan/studypy2.git

进入本地的目录/study2,可以看到README.md文件。

推荐git学习资源

  1. 简明指南,快速入手 git - the simple guide
  2. 常用命令及最佳实践 git cheat sheet
  3. 进阶学习 Pro git book

Recommended Posts