git本地分布式工作流程

首先假想一种项目情景,假设work1现在开始了一个新项目,在/home/pillar/pillar/work1下建立了一个新的git仓库;另一个叫work2的工作目录也在同一台机器上,他的任务是和work1一起开发这个项目。

1,work1首先初始化一个新的仓库:

[pillar@apus work1]$ git init

初始化空的 Git 版本库于 /home/pillar/pillar/work1/.git/

2,在work1里面新建一些文件:

[pillar@apus work1]$ mkdir 1 2 3 4 5 6
[pillar@apus work1]$ cd 1
[pillar@apus 1]$ touch 1 2 3 4 5 6
[pillar@apus 1]$ echo "hello" > 1

3,配置一下当前仓库:

[pillar@apus 1]$ git config user.name pillar
[pillar@apus 1]$ git config user.email pillar@andestech.com
[pillar@apus 1]$ ls -a
.  ..  1  2  3  4  5  6
[pillar@apus 1]$ cd ..
[pillar@apus work1]$ cat .git/config
[core]
        repositoryformatversion = 0
        filemode = true
        bare = false
        logallrefupdates = true
[user]
        name = pillar
        email = pillar@andestech.com

4,添加并提交当前数据仓库

[pillar@apus work1]$ git add .
[pillar@apus work1]$ git commit -m "1st commit"
[master(根提交) fce1b87] 1st commit
 1 个文件被修改,插入 1 行(+)
 create mode 100644 1/1
 create mode 100644 1/2
 create mode 100644 1/3
 create mode 100644 1/4
 create mode 100644 1/5
 create mode 100644 1/6
[pillar@apus work1]$ vim main.c
[pillar@apus work1]$ ls
1  2  3  4  5  6  main.c
[pillar@apus work1]$ git add .
[pillar@apus work1]$ git commit -m "2st commit"
[master d2eb9a8] 2st commit
 1 个文件被修改,插入 5 行(+)
 create mode 100644 main.c

5,复制work1的工程到work2的工作目录下

[pillar@apus work1]$ cd ../work2/
[pillar@apus work2]$ ls
[pillar@apus work2]$ git clone /home/pillar/pillar/work1
正克隆到 'work1'...
完成。
[pillar@apus work2]$ ls
work1
[pillar@apus work2]$ cd work1/
[pillar@apus work1]$ ls
1  main.c

6,在work2的工作目录下修改工程下的文件并添加提交

[pillar@apus work1]$ vim main.c
[pillar@apus work1]$ git add .
[pillar@apus work1]$ git commit -m "3st commit"
[master b0a6d3a] 3st commit
 1 个文件被修改,插入 1 行(+)


7,在work1的工作目录下将work2修改的工程拉过来并合并

[pillar@apus work1]$ ls
1  main.c
[pillar@apus work1]$ cd ../../work1/
[pillar@apus work1]$ ls
1  2  3  4  5  6  main.c
[pillar@apus work1]$ git pull /home/pillar/pillar/work2/work1
remote: Counting objects: 5, done.
remote: Compressing objects: 100% (3/3), done.
remote: Total 3 (delta 0), reused 0 (delta 0)
Unpacking objects: 100% (3/3), done.
来自 /home/pillar/pillar/work2/work1
 * branch            HEAD       -> FETCH_HEAD
更新 d2eb9a8..b0a6d3a
Fast-forward
 main.c |    1 +
 1 个文件被修改,插入 1 行(+)
[pillar@apus work1]$ less main.c
[pillar@apus work1]$ cat main.c
int main()
{
        return 0;
}
//work1 1st
//work2 1st


可以看出工程管理相当的方便。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值