1.下载git
[root@asimov /mnt]#mount rhel-server-7.3-x86_64-dvd.iso /mnt/
mount: /dev/loop0 is write-protected, mounting read-only
##下载git
[root@asimov ~]#yum install git
....
Installed:
git.x86_64 0:1.8.3.1-6.el7_2.1
Dependency Installed:
perl-Error.noarch 1:0.17020-2.el7 perl-Git.noarch 0:1.8.3.1-6.el7_2.1
perl-TermReadKey.x86_64 0:2.30-20.el7
Complete!
2.创建本地仓库:
[kiosk@asimov ~]$ mkdir gitspace
##查看git状态
[kiosk@asimov ~/gitspace]$ git status ./
##未初始化的话就会报错
fatal: Not a git repository (or any of the parent directories): .git
##初始化git
[kiosk@asimov ~/gitspace]$ git init
Initialized empty Git repository in /home/kiosk/gitspace/.git/
##查看git状态
[kiosk@asimov ~/gitspace]$ git status ./
#On branch master ##位于分支master
#
#Initial commit ##初始提交
##提交为空,创建/copy files 使用'git add' 建立跟踪
nothing to commit (create/copy files and use "git add" to track)
##配置用户信息:
第一个要配置的是你个人的用户名称和电子邮件地址。这两条配置很重要,
每次 Git 提交时都会引用这两条信息,说明是谁提交了更新,所以会随更新内容一起被永久纳入历史记录:
[kiosk@asimov ~/gitspace]$ git config --global user.name "yourname"
You have new mail in /var/spool/mail/kiosk
[kiosk@asimov ~/gitspace]$ git config --global user.email "youremail"
##查看配置
[kiosk@asimov ~/gitspace]$ git config --list
user.name=yourname
user.email=youremail
core.repositoryformatversion=0
core.filemode=true
core.bare=false
core.logallrefupdates=true
##创建一个文件未git add时:
[kiosk@asimov ~/gitspace]$ touch asimov
You have new mail in /var/spool/mail/kiosk
[kiosk@asimov ~/gitspace]$ ls
asimov
[kiosk@asimov ~/gitspace]$ git status ./
#On branch master
#
#Initial commit
#
#Untracked files:
#(use "git add <file>..." to include in what will be committed)
##asimov
nothing added to commit but untracked files present (use "git add" to track)
##git add 文件时 此时asimov 已经加入暂存区,但还没提交本地仓库:
[kiosk@asimov ~/gitspace]$ git add . ##添加所有文件或指定文件
[kiosk@asimov ~/gitspace]$ git status ./
# On branch master
#
# Initial commit
#
# Changes to be committed:
# (use "git rm --cached <file>..." to unstage)
#
# new file: asimov
#
##使用 git commit提交
#-m:"添加注释"
[kiosk@asimov ~/gitspace]$ git commit -m "add asimov"
[master (root-commit) 464ccd4] add asimov
1 file changed, 0 insertions(+), 0 deletions(-)
create mode 100644 asimov
##再次查看git状态:
[kiosk@asimov ~/gitspace]$ git status
# On branch master
nothing to commit, working directory clean ##无文件要提交
3.配置远程仓库:
##在本地生成公钥和私钥
[kiosk@asimov ~/gitspace]$ ssh-keygen -t rsa -C "youremail"
Your public key has been saved in /home/kiosk/.ssh/id_rsa.pub.
登录github账户,点击头像进入Settings -> SSH and GPG keys -> New SSH key
将/home/kiosk/.ssh/下的id_rsa.pub复制的信息粘贴到该处。
[kiosk@asimov ~]$ ssh -T git@github.com ##验证
Are you sure you want to continue connecting (yes/no)? y
Please type 'yes' or 'no': yes
Hi asimovsperhub! You've successfully authenticated, but GitHub does not provide shell access.
##上传到github
# git remote add 将这次提交命名为asimov 仓库链接
[kiosk@asimov ~/gitspace]$ git remote add asimov git@github.com:asimovsperhub/W
You have new mail in /var/spool/mail/kiosk
##没有改动的情况下不用同步
[kiosk@asimov ~/gitspace]$ git pull --rebase asimov master
Cannot pull with rebase: You have unstaged changes.
Please commit or stash them.
You have new mail in /var/spool/mail/kiosk
##git push 到github
[kiosk@asimov ~/gitspace]$ git push -u asimov master
Counting objects: 3, done.
Writing objects: 100% (3/3), 201 bytes | 0 bytes/s, done.
Total 3 (delta 0), reused 0 (delta 0)
To git@github.com:asimovsperhub/W
* [new branch] master -> master
Branch master set up to track remote branch master from asimov.
You have new mail in /var/spool/mail/kiosk
4.git常用命令速查表
git push origin <本地分支名>:<远程分支名>
git pull --rebase origin master
git pull命令用于从另一个存储库或本地分支获取并集成(整合),取回远程主机某个分支的更新,再与本地的指定分支合并。