博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
使用本地git仓库(一)
阅读量:5937 次
发布时间:2019-06-19

本文共 3783 字,大约阅读时间需要 12 分钟。

  hot3.png

1.创建目录,按照习惯还是以.git为后缀。

banxi1988 :~/work/git_repo$ mkdir test.gitbanxi1988 :~/work/git_repo$ cd test.git/banxi1988 :~/work/git_repo/test.git$ git help initbanxi1988 :~/work/git_repo/test.git$ git init --bare Initialized empty Git repository in /home/banxi1988/work/git_repo/test.git/banxi1988 :~/work/git_repo/test.git$

 请注意上面的init的参数 --bare,因为我们要向这个仓库进行提交。要是不使用这个参数。

提交的的话,就会遇到下面的错误。

remote: error: refusing to update checked out branch: refs/heads/masterremote: error: By default, updating the current branch in a non-bare repository

 

2.克隆出一个。

banxi1988 :~/work/git_repo$ git clone test.git/ test1.gitCloning into 'test1.git'...done.warning: You appear to have cloned an empty repository.banxi1988 :~/work/git_repo$ cd test1.git/banxi1988 :~/work/git_repo/test1.git$ ls

3.添加文件提交并push到原仓库

banxi1988 :~/work/git_repo/test1.git$ echo "init a Readme" > Readme.txtbanxi1988 :~/work/git_repo/test1.git$ lsReadme.txtbanxi1988 :~/work/git_repo/test1.git$ git add Readme.txtbanxi1988 :~/work/git_repo/test1.git$ git commit -m"add readme"[master (root-commit) 9009c7c] add readme 1 file changed, 1 insertion(+) create mode 100644 Readme.txtbanxi1988 :~/work/git_repo/test1.git$ git push origin master Counting objects: 3, done.Writing objects: 100% (3/3), 221 bytes, done.Total 3 (delta 0), reused 0 (delta 0)Unpacking objects: 100% (3/3), done.To /home/banxi1988/work/git_repo/test.git/ * [new branch]      master -> masterbanxi1988 :~/work/git_repo/test1.git$ cd ..

4.再克隆一个仓库出来,然后再看看上面的提交是否如我们所期望的那样:

banxi1988 :~/work/git_repo$ git clone test.git/  test2.gitCloning into 'test2.git'...done.banxi1988 :~/work/git_repo$ cd test2.git/banxi1988 :~/work/git_repo/test2.git$ lsReadme.txtbanxi1988 :~/work/git_repo/test2.git$ cat Readme.txt init a Readmebanxi1988 :~/work/git_repo/test2.git$ git remote -v

git的提交跟svn相比我了一个暂存的过程,所以git的过程是。

修改-暂存-提交

对于已经add给版本控制的文件,可以在commit时带一个-a参数。来先暂存再提交。

对于git push orign master的解释:

将本地的master分支中的已经提交的修改push到orign远程仓库去,这里orign仓库即test.git,但是对于git来说

都叫做远程仓库。

使用git remote 命令就可查看对应的所有远程仓库:

banxi1988 :~/work/git_repo/test2.git$ git remote -vorigin	/home/banxi1988/work/git_repo/test.git/ (fetch)origin	/home/banxi1988/work/git_repo/test.git/ (push)banxi1988 :~/work/git_repo/test2.git$

5.我们在test2.中做些修改然后提交,push

banxi1988 :~/work/git_repo/test2.git$ vi Readme.txt banxi1988 :~/work/git_repo/test2.git$ cat Readme.txt init a Readmeadd a linebanxi1988 :~/work/git_repo/test2.git$ git commit -a -m"add a line"[master 176fe01] add a line 1 file changed, 1 insertion(+)banxi1988 :~/work/git_repo/test2.git$ git push origin master Counting objects: 5, done.Writing objects: 100% (3/3), 261 bytes, done.Total 3 (delta 0), reused 0 (delta 0)Unpacking objects: 100% (3/3), done.To /home/banxi1988/work/git_repo/test.git/   9009c7c..176fe01  master -> masterbanxi1988 :~/work/git_repo/test2.git$

然后我们再到test1仓库去将test2提交的修改取回。

banxi1988 :~/work/git_repo/test1.git$ git status # On branch masternothing to commit (working directory clean)banxi1988 :~/work/git_repo/test1.git$ git pull remote: Counting objects: 5, done.remote: Total 3 (delta 0), reused 0 (delta 0)Unpacking objects: 100% (3/3), done.From /home/banxi1988/work/git_repo/test   9009c7c..176fe01  master     -> origin/masterUpdating 9009c7c..176fe01Fast-forward Readme.txt |    1 + 1 file changed, 1 insertion(+)banxi1988 :~/work/git_repo/test1.git$ git status # On branch masternothing to commit (working directory clean)banxi1988 :~/work/git_repo/test1.git$ cat Readme.txt init a Readmeadd a linebanxi1988 :~/work/git_repo/test1.git$

从上面的操作过程注意到,与svn不同的是,使用git status来查看状态的时候,并不会反应给我们远程仓库的

状态。

上面我使用了git pull直接将 远程仓库的修改取回来并进行了合并。

如果仅仅是想获得回来,但是并不自动进行合并呢就可以使用git fetch命令。

有没有想到git pull跟svn update有点像呢?呵呵。

git pull,git fetch,git branch,git tag,

git的分支,打标签,留到下篇博文再给大家分享哈!

 

 

 

 

 

转载于:https://my.oschina.net/banxi/blog/78158

你可能感兴趣的文章
3D地图的定时高亮和点击事件(基于echarts)
查看>>
接口由40秒到200ms优化记录
查看>>
java 视频播放 多人及时弹幕技术 代码生成器 websocket springmvc mybatis SSM
查看>>
Activiti6.0,spring5,SSM,工作流引擎,OA
查看>>
第十三章:SpringCloud Config Client的配置
查看>>
使用 GPUImage 实现一个简单相机
查看>>
CoinWhiteBook:区块链在慈善事业中的应用
查看>>
【二】express
查看>>
Mac上基于Github搭建Hexo博客
查看>>
What does corn harvester involve?
查看>>
阿里云服务器ECS开放8080端口
查看>>
前端常用排序详解
查看>>
Spring中实现监听的方法
查看>>
使用Tooltip会出现一个问题,如果行上出现复选框
查看>>
11.03T1 DP
查看>>
P2924 [USACO08DEC]大栅栏Largest Fence
查看>>
jQuery操作table tr td
查看>>
工作总结:MFC自写排序算法(升序)
查看>>
螺旋队列问题之二
查看>>
扩展运算符和解构赋值的理解
查看>>