Git--多人协作

目录

  • 一、多人协作一
  • 二、多人协作二
  • 三、 远程分⽀删除后,本地git branch -a依然能看到的解决办法

一、多人协作一

  ⽬前,我们所完成的⼯作如下:
1.基本完成Git的所有本地库的相关操作,git基本操作,分⽀理解,版本回退,冲突解决等等
2.申请码云账号,将远端信息clone到本地,以及推送和拉取。
我们之前已经将项⽬clone到了指定⽬录

[zl@VM-16-2-centos lesson/git_teaching]$ pwd
/home/zl/git_teaching

  我们在windows环境下,再clone同⼀个项⽬仓库,来模拟和你⼀起协作开发的另⼀名⼩伙伴:
在这里插入图片描述
  实际开发中,每个⽤⼾都有⾃⼰的gitee/github账号,如果要多⼈进⾏协同开发,必须要将⽤⼾添加进开发者,⽤⼾才有权限进⾏代码提交:
在这里插入图片描述
  邀请⽤⼾:
在这里插入图片描述
  到此,相当于有了两个⽤⼾,分别在linux和windows上针对于同项⽬进⾏协作开发,我们的准备⼯作到此结束。
  ⽬前,我们的仓库中只有⼀个master主分⽀,但在实际的项⽬开发中,在任何情况下其实都是不允许直接在master分⽀上修改代码的,这是为了保证主分⽀的稳定。所以在开发新功能时,常常会新建其他分⽀,供开发时进⾏迭代使⽤。
那么接下来,就让我们在gitee上新建dev远程分⽀供我们使⽤:
在这里插入图片描述

在这里插入图片描述
  创建成功的远程分⽀是可以通过Git拉取到本地来,以实现完成本地开发⼯作。
  接下来让我们和另⼀名开发的⼩伙伴都将远程仓库进⾏⼀次拉取操作,并观察结果
1.对于我们要操作的是:

[zl@VM-16-2-centos lesson/git_teaching]$ git pull
From gitee.com:hyb91/git_teaching
* [new branch] dev -> origin/dev
Already up to date.
# 注:之前讲的 git branch 其实只能查看本地分⽀,要查看远程分⽀需要加上-r选项。
# 但前提是要pull⼀下拉取最新的远端仓库,才能看到最新的内容。
[zl@VM-16-2-centos lesson/git_teaching]$ git branch -r   //查看远程仓库后多少分支
origin/HEAD -> origin/master
origin/dev
origin/master
[zl@VM-16-2-centos lesson/git_teaching]$ git checkout -b dev origin/dev
Branch 'dev' set up to track remote branch 'dev' from 'origin'.
Switched to a new branch 'dev'[zl@VM-16-2-centos lesson/git_teaching]$ git branch -vv  //可以查看本地的分支与远程仓库建立分支连接的情况

  拉取后便可以看到远程的dev分⽀,接着切换到dev分⽀供我们进⾏本地开发。要说明的是,我们切换到的是本地的dev分⽀,根据⽰例中的操作,会将本地分⽀和远程分⽀的进⾏关系链接。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

  通过checkout就可以将本地的分支与远程的分支建立起连接,以后就可以直接使用push和pull操作了(不需要再加上orgin选项)

  开发者2直接通过clone来建立与远程仓库的连接
在这里插入图片描述

1.对于⼩伙伴要操作的是:
在这里插入图片描述  现在,你和你的⼩伙伴就可以在 dev 上完成开发。
  ⾸先,让我们在 dev 分⽀上进⾏⼀次开发,并 push 到远程

[zl@VM-16-2-centos lesson/git_teaching]$ vim file.txt
[zl@VM-16-2-centos lesson/git_teaching]$ cat file.txt
hello git
complete the first function!
[zl@VM-16-2-centos lesson/git_teaching]$ git add file.txt
[zl@VM-16-2-centos lesson/git_teaching]$ git commit -m "first function"
[dev 305f78a] first function
1 file changed, 1 deletion(-)
[zl@VM-16-2-centos lesson/git_teaching]$ git push origin dev # 将dev分⽀推送到远端
Enumerating objects: 5, done.
Counting objects: 100% (5/5), done.
Compressing objects: 100% (2/2), done.
Writing objects: 100% (3/3), 287 bytes | 287.00 KiB/s, done.
Total 3 (delta 1), reused 0 (delta 0)
remote: Powered by GITEE.COM [GNK-6.4]
To gitee.com:hyb91/git_teaching.git
cc3be59..305f78a dev -> dev

  让我们来看看码云上⽬前仓库的状态:
在这里插入图片描述
  ⾄此,我们已经将代码成功推送⾄码云,接下来假如你的⼩伙伴要和你协同开发,碰巧也要对file.txt⽂件作修改,并试图推送
在这里插入图片描述
  这时推送失败,因为你的⼩伙伴的最新提交和你推送的提交有冲突,解决办法也很简单,Git已经提⽰我们,先⽤ git pull 把最新的提交从 origin/dev 抓下来,然后,在本地进⾏合并,并解决冲突,再推送。
在这里插入图片描述
  解决冲突,重新推送:
在这里插入图片描述
  此时,我们看到远端的码云已经能看到我们的新提交了
在这里插入图片描述
  由此,两名开发者已经开始可以进⾏协同开发了,不断的 git pull/add/commit/push ,遇到了冲突,就使⽤我们之前讲的冲突处理解决掉冲突
在这里插入图片描述
  对于你来说,要想看到⼩伙伴的代码,只需要 pull ⼀下即可

[zl@VM-16-2-centos lesson/git_teaching]$ cat file.txt
hello git
complete the first function!
[zl@VM-16-2-centos lesson/git_teaching]$ git pull
Updating 305f78a..72c5345
Fast-forward
file.txt | 1 +
1 file changed, 1 insertion(+)
[zl@VM-16-2-centos lesson/git_teaching]$ cat file.txt
hello git
complete the first function!
complete the second function!

  最后不要忘记,虽然我们是在分⽀上进⾏多⼈协作开发,但最终的⽬的是要将开发后的代码合并到master上去,让我们的项⽬运⾏最新的代码。接下来我们就需要做这件事情了:

# 切换⾄ master分⽀, pull ⼀下,保证本地的master是最新内容。
# 合并前这么做是⼀个好习惯
[zl@VM-16-2-centos lesson/git_teaching]$ git checkout master
Switched to branch 'master'
Your branch is up to date with 'origin/master'.
[zl@VM-16-2-centos lesson/git_teaching]$ git pull
Already up to date.
# 切换⾄ dev 分⽀, 合并 master 分⽀
# 这么做是因为如果有冲突,可以在dev分⽀上进⾏处理,⽽不是在在master上解决冲突。
# 这么做是⼀个好习惯
[zl@VM-16-2-centos lesson/git_teaching]$ git checkout dev
Switched to branch 'dev'
Your branch is up to date with 'origin/dev'.
[zl@VM-16-2-centos lesson/git_teaching]$ git merge master
Already up to date.
# 切换⾄ master 分⽀,合并 dev 分⽀
[zl@VM-16-2-centos lesson/git_teaching]$ git checkout master
Switched to branch 'master'
Your branch is up to date with 'origin/master'.
[zl@VM-16-2-centos lesson/git_teaching]$ git merge dev
Updating 7388a31..72c5345
Fast-forward
file.txt | 2 ++
1 file changed, 2 insertions(+)
[zl@VM-16-2-centos lesson/git_teaching]$ cat file.txt
hello git
complete the first function!
complete the second function!
# 将 master 分⽀推送⾄远端
[zl@VM-16-2-centos lesson/git_teaching]$ git status
On branch master
Your branch is ahead of 'origin/master' by 4 commits.
(use "git push" to publish your local commits)
nothing to commit, working tree clean
[zl@VM-16-2-centos lesson/git_teaching]$ git push origin master
Total 0 (delta 0), reused 0 (delta 0)
remote: Powered by GITEE.COM [GNK-6.4]
To gitee.com:hyb91/git_teaching.git
7388a31..72c5345 master -> master
[zl@VM-16-2-centos lesson/git_teaching]$ git status
On branch master
Your branch is up to date with 'origin/master'.
nothing to commit, working tree clean

  此时,查看远端仓库,master已经是最新代码了:

在这里插入图片描述
  此时,dev分⽀对于我们来说就没⽤了,那么dev分⽀就可以被删除掉。我们可以直接在远程仓库中将dev分⽀删除掉:
在这里插入图片描述

总结

⾸先,可以试图⽤git push origin branch-name推送⾃⼰的修改;
如果推送失败,则因为远程分⽀⽐你的本地更新,需要先⽤git pull试图合并;
如果合并有冲突,则解决冲突,并在本地提交;
没有冲突或者解决掉冲突后,再⽤git push origin branch-name推送就能成功!
功能开发完毕,将分⽀merge进master,最后删除分⽀。

二、多人协作二

  ⼀般情况下,如果有多需求需要多⼈同时进⾏开发,是不会在⼀个分⽀上进⾏多⼈开发,⽽是⼀个需求或⼀个功能点就要创建⼀个 feature 分⽀。
在这里插入图片描述

  现在同时有两个需求需要你和你的⼩伙伴进⾏开发,那么你们俩便可以各⾃创建⼀个分⽀来完成⾃⼰的⼯作。在上个部分我们已经了解了可以从码云上直接创建远程分⽀,其实在本地创建的分⽀也可以通过推送的⽅式发送到远端。在这个部分我们就来⽤⼀下这种⽅式。
1.对于你来说,可以进⾏以下操作

# 新增本地分⽀ feature-1 并切换
[zl@VM-16-2-centos lesson/git_teaching]$ git branch
dev
* master
[zl@VM-16-2-centos lesson/git_teaching]$ git checkout -b feature-1
Switched to a new branch 'feature-1'
# 新增需求内容-创建function1⽂件
[zl@VM-16-2-centos lesson/git_teaching]$ vim function1
[zl@VM-16-2-centos lesson/git_teaching]$ cat function1
Done!
# 将 feature-1 分⽀推送到远端
[zl@VM-16-2-centos lesson/git_teaching]$ git add function1
[zl@VM-16-2-centos lesson/git_teaching]$ git commit -m"add function1"
[feature-1 12ed0db] add function1
1 file changed, 1 insertion(+)
create mode 100644 function1
[zl@VM-16-2-centos lesson/git_teaching]$ git push origin feature-1
Enumerating objects: 4, done.
Counting objects: 100% (4/4), done.
Compressing objects: 100% (2/2), done.
Writing objects: 100% (3/3), 270 bytes | 270.00 KiB/s, done.
Total 3 (delta 1), reused 0 (delta 0)
remote: Powered by GITEE.COM [GNK-6.4]
remote: Create a pull request for 'feature-1' on Gitee by visiting:
remote: https://gitee.com/hyb91/git_teaching/pull/new/zl:feature-1...hyb9
To gitee.com:hyb91/git_teaching.git
* [new branch] feature-1 -> feature-1

2.对于⼩伙伴来说,可以进⾏以下操作:
在这里插入图片描述
  此时,在本地,你看不⻅他新建的⽂档,他看不⻅你新建的⽂档。并且推送各⾃的分⽀时,并没有任何冲突,你俩互不影响,⽤起来很舒服!!
  再来看下远端码云上此时的状态:
在这里插入图片描述  对于你的feature-1分⽀:
在这里插入图片描述
  对于⼩伙伴的feature-2分⽀:
在这里插入图片描述
  正常情况下,你俩就可以在⾃⼰的分⽀上进⾏专业的开发了!
在这里插入图片描述

  但是当feature-2中的需求还没开发完,需要你帮他继续开发,于是他便把feature-2分⽀名告诉你了。这时你就需要在⾃⼰的机器上切换到feature-2分⽀帮忙继续开发,要做的操作如下:

# 必须先拉取远端仓库内容
[zl@VM-16-2-centos lesson/git_teaching]$ git pull
...
From gitee.com:hyb91/git_teaching
305f78a..72c5345 dev -> origin/dev
* [new branch] feature-2 -> origin/feature-2
...
# 可以看到远程已经有了feature-2
[zl@VM-16-2-centos lesson/git_teaching]$ git branch -a
dev
* feature-1
master
remotes/origin/HEAD -> origin/master
remotes/origin/dev
remotes/origin/feature-1
remotes/origin/feature-2
remotes/origin/master
# 切换到feature-2分⽀上,可以和远程的feature-2分⽀关联起来,
# 否则将来只使⽤ git push 推送内容会失败
[zl@VM-16-2-centos lesson/git_teaching]$ git checkout -b feature-2 origin/feature-2
Branch 'feature-2' set up to track remote branch 'feature-2' from 'origin'.
Switched to a new branch 'feature-2'
[zl@VM-16-2-centos lesson/git_teaching]$ ls
a.so b.ini file.txt function2 README.en.md README.md

  切换成功后,便可以看⻅feature-2分⽀中的function2⽂件了,接着就可以帮⼩伙伴进⾏开发:

# 继续开发
[zl@VM-16-2-centos lesson/git_teaching]$ vim function2
[zl@VM-16-2-centos lesson/git_teaching]$ cat function2
Done!
Help done!
# 推送内容
[zl@VM-16-2-centos lesson/git_teaching]$ git add function2
[zl@VM-16-2-centos lesson/git_teaching]$ git commit -m"modify function2"
[feature-2 1079ae7] modify function2
1 file changed, 2 insertions(+), 1 deletion(-)
[zl@VM-16-2-centos lesson/git_teaching]$ git push origin feature-2
Enumerating objects: 5, done.
Counting objects: 100% (5/5), done.
Compressing objects: 100% (2/2), done.
Writing objects: 100% (3/3), 262 bytes | 262.00 KiB/s, done.
Total 3 (delta 1), reused 0 (delta 0)
remote: Powered by GITEE.COM [GNK-6.4]
To gitee.com:hyb91/git_teaching.git
e1233f1..1079ae7 feature-2 -> feature-2

  查看远程状态,推送成功了:

在这里插入图片描述
  这时,你的⼩伙伴已经修养的差不多,可以继续进⾏⾃⼰的开发⼯作,那么他⾸先要获取到你帮他开发的内容,然后接着你的代码继续开发。或者你已经帮他开发完了,那他也需要在⾃⼰的电脑上看看
你帮他写的代码:

在这里插入图片描述
  Pull⽆效的原因是⼩伙伴没有指定本地feature-2分⽀与远程origin/feature-2分⽀的链接,根据提⽰,设置feature-2和origin/feature-2的链接即可:
在这里插入图片描述
  ⽬前,⼩伙伴的本地代码和远端保持严格⼀致。你和你的⼩伙伴可以继续在不同的分⽀下进⾏协同开发了。各⾃功能开发完毕后,不要忘记我们需要将代码合并到master中才算真正意义上的开发完毕。由于你的⼩伙伴率先开发完毕,于是开始merge :
在这里插入图片描述
  此时远程仓库的状态:
在这里插入图片描述
  当你的⼩伙伴将其代码 merge 到 master 后,这是你也开发完成了,也需要进⾏merge到master 操作,于是你:
在这里插入图片描述
在这里插入图片描述

# 切换⾄ master分⽀, pull ⼀下,保证本地的master是最新内容。
# 合并前这么做是⼀个好习惯
[zl@VM-16-2-centos lesson/git_teaching]$ git checkout master
Switched to branch 'master'
Your branch is up to date with 'origin/master'.
[zl@VM-16-2-centos lesson/git_teaching]$ git pull
From gitee.com:hyb91/git_teaching
72c5345..29006bd master -> origin/master
Updating 72c5345..29006bd
Fast-forward
function2 | 2 ++
1 file changed, 2 insertions(+)
create mode 100644 function2
# 切换⾄ feature-1 分⽀, 合并 master 分⽀
# 这么做是因为如果有冲突,可以在feature-1分⽀上进⾏处理,⽽不是在在master上解决冲突。
# 这么做是⼀个好习惯
[zl@VM-16-2-centos lesson/git_teaching]$ git checkout feature-1
Switched to branch 'feature-1'
Your branch is up to date with 'origin/feature-1'.
[zl@VM-16-2-centos lesson/git_teaching]$ git merge master
Merge made by the 'recursive' strategy.
function2 | 2 ++
1 file changed, 2 insertions(+)
create mode 100644 function2
[zl@VM-16-2-centos lesson/git_teaching]$ ls
a.so b.ini file.txt function1 function2 README.en.md README.md
# 1、由于feature-1分⽀已经merge进来了新内容,为了保证远程分⽀最新,所以最好push⼀下。
# 2、要 push 的另⼀个原因是因为在实际的开发中,master的merge操作⼀般不是由我们⾃⼰在本地进
# 其他⼈员或某些平台merge时,操作的肯定是远程分⽀,所以就要保证远程分⽀的最新。
# 3、如果 merge 出现冲突,不要忘记需要commit才可以push!!
[zl@VM-16-2-centos lesson/git_teaching]$ git status
On branch feature-1
Your branch is ahead of 'origin/feature-1' by 4 commits.
(use "git push" to publish your local commits)
nothing to commit, working tree clean
[zl@VM-16-2-centos lesson/git_teaching]$ git push origin feature-1
Enumerating objects: 4, done.
Counting objects: 100% (4/4), done.
Compressing objects: 100% (2/2), done.
Writing objects: 100% (2/2), 299 bytes | 299.00 KiB/s, done.
Total 2 (delta 1), reused 0 (delta 0)
remote: Powered by GITEE.COM [GNK-6.4]
To gitee.com:hyb91/git_teaching.git
ea75a35..4b4c3d4 feature-1 -> feature-1
# 切换⾄ master 分⽀,合并 feature-1 分⽀
[zl@VM-16-2-centos lesson/git_teaching]$ git checkout master
Switched to branch 'master'
Your branch is up to date with 'origin/master'.
[zl@VM-16-2-centos lesson/git_teaching]$ git merge feature-1
Updating 29006bd..4b4c3d4
Fast-forward
function1 | 1 +
1 file changed, 1 insertion(+)
create mode 100644 function1
[zl@VM-16-2-centos lesson/git_teaching]$ ls
a.so b.ini file.txt function1 function2 README.en.md README.md
# 将 master 分⽀推送⾄远端
[zl@VM-16-2-centos lesson/git_teaching]$ git status
On branch master
Your branch is ahead of 'origin/master' by 3 commits.
(use "git push" to publish your local commits)
nothing to commit, working tree clean
[zl@VM-16-2-centos lesson/git_teaching]$ git push origin master
Total 0 (delta 0), reused 0 (delta 0)
remote: Powered by GITEE.COM [GNK-6.4]
To gitee.com:hyb91/git_teaching.git
29006bd..4b4c3d4 master -> master
[zl@VM-16-2-centos lesson/git_teaching]$ git status
On branch master
Your branch is up to date with 'origin/master'.
nothing to commit, working tree clean

  此时远程仓库的状态:
在这里插入图片描述
  此时,feature-1和 feature-2分⽀对于我们来说就没⽤了,那么我们可以直接在远程仓库中将dev分⽀删除掉:

三、 远程分⽀删除后,本地git branch -a依然能看到的解决办法

  当前我们已经删除了远程的⼏个分⽀,使⽤ git branch -a 命令可以查看所有本地分⽀和远程分⽀,但发现很多在远程仓库已经删除的分⽀在本地依然可以看到。例如:

[zl@VM-16-2-centos lesson/git_teaching]$ git pull
Already up to date.
[zl@VM-16-2-centos lesson/git_teaching]$ git branch -a
dev
feature-1
feature-2
* master
remotes/origin/HEAD -> origin/master
remotes/origin/dev
remotes/origin/feature-1
remotes/origin/feature-2
remotes/origin/master

  使⽤命令git remote show origin ,可以查看remote地址,远程分⽀,还有本地分⽀与之相对应关系等信息

[zl@VM-16-2-centos lesson/git_teaching]$ git remote show origin
* remote origin
Fetch URL: git@gitee.com:hyb91/git_teaching.git
Push URL: git@gitee.com:hyb91/git_teaching.git
HEAD branch: master
Remote branches:
master tracked
refs/remotes/origin/dev stale (use 'git remote prune' to remove)
refs/remotes/origin/feature-1 stale (use 'git remote prune' to remove)
refs/remotes/origin/feature-2 stale (use 'git remote prune' to remove)
Local branches configured for 'git pull':
dev merges with remote dev
feature-1 merges with remote feature-1
feature-2 merges with remote feature-2
master merges with remote master
Local ref configured for 'git push':
master pushes to master (up to date)

  此时我们可以看到那些远程仓库已经不存在的分⽀,根据提⽰,使⽤ git remote prune origin命令:

[zl@VM-16-2-centos lesson/git_teaching]$ git remote prune origin
Pruning origin
URL: git@gitee.com:hyb91/git_teaching.git
* [pruned] origin/dev
* [pruned] origin/feature-1
* [pruned] origin/feature-2
[zl@VM-16-2-centos lesson/git_teaching]$ git branch -a
dev
feature-1
feature-2
* master
remotes/origin/HEAD -> origin/master
remotes/origin/master

  这样就删除了那些远程仓库不存在的分⽀。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/web/4387.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

网站漏洞有哪些方法检查,网站常见漏洞扫描检测方案

在数字化时代,随着互联网的飞速发展,网站已经成为人们获取信息、交流互动的重要平台,网站安全对于企业和个人而言至关重要。但随着技术的不断发展,网站漏洞问题也日益凸显,给网络安全带来了严重威胁。 为了及时发现并…

【软考】设计模式之策略模式

目录 1. 说明2. 应用场景3. 结构图4. 构成5. 优缺点5.1 优点5.2 缺点 6. 适用性 1. 说明 1.定义一系列的算法,把它们一个个封装起来,并且使它们可以相互替换。2.此模式使得算法可以独立于使用它们的客户而变化。3.策略模式(Strategy Pattern…

《HCIP-openEuler实验指导手册》1.7 Apache虚拟主机配置

知识点 配置步骤 需求 域名访问目录test1.com/home/source/test1test2.com/home/source/test2test3.com/home/source/test3 创建配置文件 touch /etc/httpd/conf.d/vhost.conf vim /etc/httpd/conf.d/vhost.conf文件内容如下 <VirtualHost *.81> ServerName test1.c…

CONSOB 又下令封锁5个未经授权的投资网站,总数达1065

FX110讯&#xff1a;意大利金融市场监管局 CONSOB 已下令关闭 5 个非法提供金融服务/金融产品的网站。自2019年7月CONSOB有权下令封锁欺诈性金融网站以来&#xff0c;被封禁的网站数量已升至1065个。 以下是 CONSOB 下令新屏蔽的 5个网站&#xff1a; “Luno Invest” Vantage …

JSP:操作指令

目录 1.jsp:useBean操作 语法格式&#xff1a; 属性说明&#xff1a; scope作用域&#xff1a; 1.page&#xff1a; 2.request&#xff1a; 3.session&#xff1a; 4.application 案例&#xff1a; 2.jsp:setProperty操作 语法格式&#xff1a; 属性说明&#xf…

吾日三省吾身---对平常遇到的错误总结

✨个人主页&#xff1a; 不漫游-CSDN博客 前言 本篇文章是对平常练习遇到的问题总结&#xff0c;多吸取经验教训才能避免未来再犯~ Java语法部分 &#xff08;一&#xff09;多态 思考&#xff1a;这道题很明显考察的是多态的知识点&#xff0c;即一个对象可以被赋值给其父类…

【PyTorch 实战3:YOLOv5检测模型】10min揭秘 YOLOv5 检测网络架构、工作原理以及pytorch代码实现(附代码实现!)

YOLOv5简介 YOLOv5&#xff08;You Only Look Once, Version 5&#xff09;是一种先进的目标检测模型&#xff0c;是YOLO系列的最新版本&#xff0c;由Ultralytics公司开发。该模型利用深度学习技术&#xff0c;能够在图像或视频中实时准确地检测出多个对象的位置及其类别&…

鸿蒙内核源码分析(时钟任务篇)

时钟概念 时间是非常重要的概念&#xff0c;我们整个学生阶段有个东西很重要,就是校园铃声. 它控制着上课,下课,吃饭,睡觉的节奏.没有它学校的管理就乱套了,老师拖课想拖多久就多久,那可不行,下课铃声一响就是在告诉老师时间到了,该停止了让学生HAPPY去了. 操作系统也一样&…

LLM大语言模型(十三):ChatGLM3-6B兼容Langchain的Function Call的一步一步的详细转换过程记录

# LangChain&#xff1a;原始prompt System: Respond to the human as helpfully and accurately as possible. You have access to the following tools: Calculator: Useful for when you need to calculate math problems, args: {\calculation\: {\description\: \calcul…

自动化爬虫工具:you-get安装与使用

Windows下的安装命令&#xff1a; pip install you-get linux下的安装命令&#xff1a; pip3 install you-get 下载完成后&#xff0c;我们可以看到如下的警告&#xff0c;意思就是这个工具并未被添加到环境变量中&#xff0c;如果我们想在命令行中直接调用&#xff0c;需要…

vim的IDE进阶之路

一 ctags 1 安装 安装ctags比较简单&#xff0c;我用的是vim-plug&#xff0c;网络上随便一搜应该就有很多教程&#xff0c;而且没有什么坑 2 使用 vim之函数跳转功能_nvim函数跳转-CSDN博客https://blog.csdn.net/ballack_linux/article/details/71036072不过针对cuda程序…

2024年电子商务与大数据经济国际会议 (EBDE 2024)

2024年电子商务与大数据经济国际会议 (EBDE 2024) 2024 International Conference on E-commerce and Big Data Economy 【会议简介】 2024年电子商务与大数据经济国际会议即将在厦门召开。本次会议旨在汇聚全球电子商务与大数据经济领域的专家学者&#xff0c;共同探讨电子商务…

nacos-redis-springboot

新项目 准备工作 nacos 版本 2.0.3 redis 最终版本说明 springcloud-alibaba&#xff1a;2.2.7RELEASE springcloud&#xff1a;Hoxton.SR12 springboot&#xff1a;2.3.12.RELEASE Nacos&#xff1a;2.0.3 步骤 启动nacos和redis 准备nacos配置文件 server: port…

使用frp实现内网穿透教程

文章目录 简介frp 是什么&#xff1f;为什么选择 frp&#xff1f; 概念工作原理代理类型 内网穿透教程服务端安装和配置本地Windows&#xff08;客户端&#xff09;安装和配置本地Linux虚拟机&#xff08;客户端&#xff09;安装和配置使用 systemd 管理服务端注意事项 简介 f…

GPT学术优化推荐(gpt_academic )

GPT学术优化 (GPT Academic):支持一键润色、一键中英互译、一键代码解释、chat分析报告生成、PDF论文全文翻译功能、互联网信息聚合GPT等等 ChatGPT/GLM提供图形交互界面&#xff0c;特别优化论文阅读/润色/写作体验&#xff0c;模块化设计&#xff0c;支持自定义快捷按钮&…

在线培训考试系统在线考试功能注意事项

在线培训考试系统在线考试功能注意事项 考试前务必注意是否开启防切屏、摄像头监考等防作弊措施&#xff0c;系统一旦检测到触发了疑似作弊行为会立刻自动交卷&#xff0c;考试终止&#xff1b; 答题者准备好后&#xff0c;可点击“开始答题”按钮进入考试&#xff0c;注意考…

【Vue】如何创建一个Vue-cli程序

一、准备工作 1、下载Node.js 官网地址 https://nodejs.org/en 2、查看版本 cmd下通过node-v,查看版本号&#xff1b; cmd下通过npm-v,查看是否打印版本号。 3、安装淘宝加速器 npm install cnpm -g 4、安装Vue-cli cnpm install vue-cli -g 二、创建Vue程序 1、创建一个V…

Aurora-64B/10B、XDMA与DDR结合设计高速数据流通路设计/Aurora光纤设计/XDMA读取DDR设计/基于FPGA的高速数据传输设计

因最近想通过FPGA把数据从光纤传到PC&#xff0c;借此机会和大家一起学习Aurora、XDMA结合DDR 制作不易&#xff0c;记得三连哦&#xff0c;给我动力&#xff0c;持续更新&#xff01;&#xff01;&#xff01; 完整工程文件下载&#xff1a;XDMA读写DDR工程 提取码&…

微信小程序的常用API②

一、动画API &#xff08;1&#xff09;作用&#xff1a;用于在微信小程序中完成动画效果的制作 &#xff08;2&#xff09;使用&#xff1a;创建实例 wx.createAnimation() &#xff08;3&#xff09;常用属性&#xff1a; duration 【number型】 动画持续时间&…

《C++学习笔记---入门篇2》---传值引用与传引用返回详解

先看这个程序&#xff0c;随着Count栈帧的销毁&#xff0c;会创建一个临时变量将n的值带回&#xff0c;可以实现我们的目的。 再看这个情况的时候&#xff0c;对于n来说他存放的位置在静态区&#xff0c;他不会随着函数栈帧的销毁而销毁&#xff0c;返回的时候依旧靠着临时变量…