Git的应用

2020-09-10  本文已影响0人  程序员小杰

记录一下Git的使用。首先需要准备两个邮箱,用来操作多人开发。
我们这里使用gitee。github实在是太卡了。

项目经理首先在gitee上创建云仓库


image.png

创建成功之后会跳转到如下页面,会有一些入门教程


image.png
然后我们的项目经理搭建项目:
初始化
$ git init
Initialized empty Git repository in D:/gongj/gongjieTest/git-test/.git/ 
$ touch README.md
image.png

然后执行以下命令


image.png

补充
当你是第一次在进行commit的时候,git需要你输入自己的邮箱和用户名。
--global代表是全局的,如果不加是在你当前项目里有效。


image.png

发现我们执行push的时候出现了以下提示,因为这是我们的第一次提交,git并不知道你要push到哪里去,所以我们需要提供一下地址。

image.png
git给我们提供了两个地址,我们这里就使用https,ssh我们之后再说。
将https的地址copy下来:https://gitee.com/gongjienianq/git-test.git,发现这地址还是比较长的,我们不可能去记住它,能不能给它起一个别名呢。
git肯定是提供了的。git remote 关联远程库
$ git remote -v

$ git remote add origin https://gitee.com/gongjienianq/git-test.git

$ git remote -v
origin  https://gitee.com/gongjienianq/git-test.git (fetch)
origin  https://gitee.com/gongjienianq/git-test.git (push)

然后就准备push啦,执行命令之后弹出一个框,这需要输入你的git账号和密码。

$ git push origin master

git push <别名> <分支名>


image.png

账号密码输入成功之后

Enumerating objects: 3, done.
Counting objects: 100% (3/3), done.
Writing objects: 100% (3/3), 249 bytes | 249.00 KiB/s, done.
Total 3 (delta 0), reused 0 (delta 0)
remote: Powered by GITEE.COM [GNK-5.0]
To https://gitee.com/gongjienianq/git-test.git
 * [new branch]      master -> master
image.png

项目已经搭建好了,项目经理想了想,我们不能在master上直接开发,项目经理就创建了两个分支。


image.png
image.png

我们先可以看云仓库现在有几个分支,可以看到现在就只有master分支


image.png

我们现在已经到了dev分支了

$ touch nianq.txt
$ git status
$ git add .
$ git commit -m "提交第一句代码"
$ git push --set-upstream origin dev

现在就有dev分支和master分支


image.png

提交uat分支

$ git checkout uat
$ git push origin uat
image.png

分支也有了,项目经理让手底下的一个小喽啰将dev分支的代码拉下来进行开发。

$ git clone -b dev https://gitee.com/gongjienianq/git-test.git
$ git remote -v
origin  https://gitee.com/gongjienianq/git-test.git (fetch)
origin  https://gitee.com/gongjienianq/git-test.git (push)
$ touch gongjie123.txt
$ git status
$ git add .
$ git commit -m "提交"
$ git push

在执行git push的时候需要登录


image.png

输入正确的账号密码之后,又会提示你


image.png
您没有权限推送到此存储库,这需要你的项目经理将你添加到团队中。
项目经理在gitee上找到该项目。
image.png

我这里就选择直接添加,输入gitee用户的邮箱。


image.png
然后等你邀请的人同意,就可以成为项目的正式开发者了。
image.png
再次执行git push
image.png
多人合作成功
image.png
在团队开发中,发送冲突是显而易见的事情,那怎么解决冲突呢!
那为什么会造成冲突呢。假设现在有A、B两位员工,AB两位员工将代码各自拉取到本地进行开发,A优先将代码开发完毕,将代码提交到远程仓库,过了一会,B也开发完毕,也想将代码提交到远程仓库,这时发现提交不上去。原因是B的这个版本不是服务器上最新的版本,恰巧B本地的代码和远程仓库的代码在同一个文件的同一个地方做了修改,因此产生了冲突,这是我们应该先使用git pull命令更新最新的代码,解决掉冲突再上传代码。接下来我们模拟一下冲突,根据下面的图片我们可以看到两者代码是最新的。
image.png
image.png

小喽啰在自己本地的gongjie123.txt添加了几行代码,然后进行提交


image.png
$ git add .
$ git commit -m "小喽啰完成需求"
$ git push
image.png

然后项目经理在同一时间也对gongjie123.txt进行了修改。


image.png
$ git add .
$ git commit -m "项目经理提交代码"
$ git push

执行完git push命令就会出现以下错误:


image.png
image.png
$ git pull origin dev

注:pull = fetch + merge

$ git add .
$ git commit -m "解决冲突,并提交代码"
$ git push origin dev

注意commit操作不要加文件名

注意:上面的每次切换账号都需要将windows凭据删除,不然不会弹出那个需要输入账号密码的框。


image.png

Git的常用命令:https://www.jianshu.com/p/11aca675d9df

ssh方式拉取代码:https://www.jianshu.com/p/6bc033293d04

上一篇下一篇

猜你喜欢

热点阅读