Git的练习

主机名IP角色
git1192.168.100.130服务端
git2192.168.100.131客户端

git的部署及一些基本的使用:https://blog.youkuaiyun.com/Bilise/article/details/104912898

需求:

1.查看远程分支、查看本地分支、查看全部分支;
2.创建本地分支devserver1-6,创建dev分支并立即切换;
3.切换回主分支,并查看当前所在分支;
4.在分支devserver1里创建一个test.txt,并切换回主分支查看是否存在这个test.txt文件;
5.合并devserver1和主分支,查看主分支里是否有test.txt文件;
6.删除本地分支devserver1,查看剩下所有分支;
7.推送本地分支devserver2-6到远端服务器,并查看是否成功;
8.运用三种办法删除远端分支devserver2-4;
9.在远程创建分支linuxgit,并拉取分支到本地客户端服务器上;
10.如何快速有效的拉取远程服务端的全部分支;

练习:

1.查看远程分支、查看本地分支、查看全部分支;

[root@git2 project]# git branch -r //远程分支
  origin/master
[root@git2 project]# git branch  //本地分支
* master
[root@git2 project]# git branch -a  //全部分支
* master
  remotes/origin/master

问题:

[root@git2 ~]# git branch
fatal: Not a git repository (or any of the parent directories): .git

解决方法:

[root@git2 ~]# git init

2.创建本地分支devserver1-6,创建dev分支并立即切换;

[root@git2 project]# git branch deserver1
[root@git2 project]# git branch deserver2
[root@git2 project]# git branch deserver3
[root@git2 project]# git branch deserver4
[root@git2 project]# git branch deserver5
[root@git2 project]# git branch deserver6
[root@git2 project]# git checkout -b dev
Switched to a new branch 'dev'

3.切换回主分支,并查看当前所在分支;

[root@git2 project]# git checkout master
Switched to branch 'master'
[root@git2 project]# git branch
  dev
  devserver1
  devserver2
  devserver3
  devserver4
  devserver5
  devserver6
* master

4.在分支devserver1里创建一个test.txt,并切换回主分支查看是否存在这个test.txt文件;

[root@git2 project]# git checkout devserver1
Switched to branch 'devserver1'
[root@git2 project]# ll
total 4
-rw-r--r-- 1 root root 5 Mar 18 00:54 1.txt
[root@git2 project]# touch test.txt
[root@git2 project]# git add test.txt 
[root@git2 project]# git commit -m "txt add"
[devserver1 eb14965] txt add
 1 file changed, 0 insertions(+), 0 deletions(-)
 create mode 100644 test.txt
[root@git2 project]# git checkout master
Switched to branch 'master'
Your branch is ahead of 'origin/master' by 1 commit.
  (use "git push" to publish your local commits)
[root@git2 project]# ll
total 4
-rw-r--r-- 1 root root 5 Mar 18 00:54 1.txt


5.合并devserver1和主分支,查看主分支里是否有test.txt文件;

[root@git2 project]# ll
total 4
-rw-r--r-- 1 root root 5 Mar 18 00:54 1.txt
[root@git2 project]# git merge devserver1
CONFLICT (modify/delete): test.txt deleted in HEAD and modified in devserver1. Version devserver1 of test.txt left in tree.
Automatic merge failed; fix conflicts and then commit the result.
[root@git2 project]# ll
total 4
-rw-r--r-- 1 root root 5 Mar 18 00:54 1.txt
-rw-r--r-- 1 root root 0 Mar 18 14:19 test.txt

6.删除本地分支devserver1,查看剩下所有分支;

[root@git2 project]# git branch
  dev
  devserver1
  devserver2
  devserver3
  devserver4
  devserver5
  devserver6
* master
[root@git2 project]# git branch -d devserver1
error: The branch 'devserver1' is not fully merged. //需要删除的分支可能有合并到当前分支的内容,从而导致的报错
If you are sure you want to delete it, run 'git branch -D devserver1'.
[root@git2 project]# git branch -D devserver1
Deleted branch devserver1 (was eb14965).
[root@git2 project]# git branch
  dev
  devserver2
  devserver3
  devserver4
  devserver5
  devserver6
* master

7.推送本地分支devserver2-6到远端服务器,并查看是否成功;
客户端

[root@git2 project]# git remote -v  //查看与远程服务器是否连接
origin	git@192.168.100.130:/home/git/project.git (fetch)
origin	git@192.168.100.130:/home/git/project.git (push)
[root@git2 project]# git push origin devserver2
[root@git2 project]# git push origin devserver3
[root@git2 project]# git push origin devserver4
[root@git2 project]# git push origin devserver5
[root@git2 project]# git push origin devserver6

服务端

[git@git1 project]$ git branch
  devserver2
  devserver3
  devserver4
  devserver5
  devserver6
* master

8.运用三种办法删除远端分支devserver2-4;

[root@git2 project]# git push origin --delete devserver2
[root@git2 project]# git push origin :devserver3
[root@git2 project]# git branch -r -d origin/devserver4

9.在远程创建分支linuxgit,并拉取分支到本地客户端服务器上;
服务端

[git@git1 project]$ git branch linuxgit

客户端

[root@git2 project]# git fetch origin linuxgit:linuxgit

10.如何快速有效的拉取远程服务端的全部分支;

[root@git2 project]# git checkout dev  //切换到本地有、而远程没有的一个分支上,避免冲突
[root@git2 project]# git branch -r | grep -v '\->' | cut -d'/' -f2 | xargs -n1 -i git fetch origin {}:{}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值