git安装
yum install git -y
创建git用户
useradd git
新建一个项目仓库
su - git
mkdir demo.git
cd /home/git/demo.git
仓库初始化
git init --bare
git客户端拉取
git clone git@192.168.153.17:/home/git/demo.git
免密拉取
ssh-keygen
ssh-copy-id git@192.168.153.17
git clone git@192.168.153.17:/home/git/demo.git
配置信息
配置使用者信息
[root@localhost demo]# git config --global user.name lql
[root@localhost demo]# git config --global user.email lql@163.com
查询使用者信息
[root@localhost demo]# git config --list
user.name=lql
user.email=lql@163.com
[root@localhost demo]# cat ./.git/config
[core]
repositoryformatversion = 0
filemode = true
bare = false
logallrefupdates = true
[remote "origin"]
url = git@192.168.153.17:/home/git/demo.git //远程服务器地址
fetch = +refs/heads/*:refs/remotes/origin/*
[branch "master"] //分支
remote = origin
merge = refs/heads/master
[root@localhost demo]# git status
# 位于分支 master
#
# 初始提交
#
无文件要提交(创建/拷贝文件并使用 "git add" 建立跟踪)
文件提交
001 编辑文件
[root@localhost demo]# vi hello.test
test
:wq
002 提交到缓冲区
git add .
003 提交到仓库区
[root@localhost demo]# git commit -m 'test'
[master(根提交) ee6a833] test
1 file changed, 1 insertion(+)
create mode 100644 hello.test
004 提交到远程git
[root@localhost demo]# cat .git/config
[remote "origin"]
[branch "master"]
#关键字origin master
---------------------------------------------
[root@localhost demo]# git push origin master
Counting objects: 3, done.
Writing objects: 100% (3/3), 203 bytes | 0 bytes/s, done.
Total 3 (delta 0), reused 0 (delta 0)
To git@192.168.153.17:/home/git/demo.git
- [new branch] master -> master
git工作流程
001 克隆远程版本库
git clone git@192.168.153.17:/home/git/demo.git
002 新建开发分支
[root@bogon demo]# git checkout -b dev
切换到一个新分支 'dev'
[root@bogon demo]# git branch
* dev
master
003 将修改的文件添加到暂存区
[root@bogon demo]# vi a.txt
aaa
:wq
[root@bogon demo]# git add .
004 提交暂存区到仓库区
[root@bogon demo]# git add .
[root@bogon demo]# git commit -m '增加a.txt'
[dev 598297e] 增加a.txt
1 file changed, 1 insertion(+)
create mode 100644 a.txt
005 查看历史提交记录
[root@bogon demo]# git log
#查到谁开发的代码
commit 598297e968bff64e5ee780fd6b214257ea911f04
Author: lql <lql@163.com>
Date: Mon Oct 4 10:56:42 2021 +0800
增加a.txt
[root@bogon demo]# git log --oneline
598297e 增加a.txt
ee6a833 test
#某一个文件的提交记录
[root@bogon demo]# git log -p a.txt
commit 598297e968bff64e5ee780fd6b214257ea911f04
Author: lql <lql@163.com>
Date: Mon Oct 4 10:56:42 2021 +0800
增加a.txt
006 将本地代码推送到远程服务器
#18服务器
[root@bogon demo]# git branch
* dev
master
[root@localhost demo]# git push origin dev
To git@192.168.153.17:/home/git/demo.git
598297e..8d60755 dev -> dev
#19服务器
[root@localhost git]# git clone -b dev git@192.168.153.17:/home/git/demo.git
正克隆到 'demo'...
git分支管理
001 新建分支
[root@localhost demo]# git branch feature
002 查看远程分支
[root@localhost demo]# git branch -a
* dev
feature
master
remotes/origin/dev
remotes/origin/master
003 删除指定分支
[root@localhost demo]# git branch -D feature
已删除分支 feature(曾为 8d60755)
004 合并分支dev->master
#18服务器
[root@localhost demo]# git checkout master
切换到分支 'master'
[root@localhost demo]# git branch
dev
* master
[root@localhost demo]# git merge dev
更新 ee6a833..9640a27
Fast-forward
a.txt | 2 ++
b.txt | 1 +
2 files changed, 3 insertions(+)
create mode 100644 a.txt
create mode 100644 b.txt
[root@localhost demo]# git push origin master
Total 0 (delta 0), reused 0 (delta 0)
To git@192.168.153.17:/home/git/demo.git
ee6a833..9640a27 master -> master
#19服务器
[root@localhost demo]# git branch
* master
[root@localhost demo]# git pull
git@192.168.153.17's password:
来自 192.168.153.17:/home/git/demo
ee6a833..9640a27 master -> origin/master
更新 ee6a833..9640a27
Fast-forward
a.txt | 2 ++
b.txt | 1 +
2 files changed, 3 insertions(+)
create mode 100644 a.txt
create mode 100644 b.txt
[root@localhost demo]# ls
a.txt b.txt hello.test
网友评论