wordpress 下载站模板,电商小程序制作一个需要多少钱,个人如何做网页,东莞建站模板公司目录 1.不同分支下多人协作2.远程分⽀删除后#xff0c;本地git branch -a依然能看到 1.不同分支下多人协作
⼀般情况下#xff0c;如果有多需求需要多⼈同时进⾏开发#xff0c;是不会在⼀个分⽀上进⾏多⼈开发#xff0c;⽽是⼀个需求或⼀个功能点就要创建⼀个feature分… 目录 1.不同分支下多人协作2.远程分⽀删除后本地git branch -a依然能看到 1.不同分支下多人协作
⼀般情况下如果有多需求需要多⼈同时进⾏开发是不会在⼀个分⽀上进⾏多⼈开发⽽是⼀个需求或⼀个功能点就要创建⼀个feature分⽀情景设置 目标远程main分支下新增func1和func2文件实现开发者A新增func1开发者B新增func2条件不同分支下协作完成各自让某一个功能私有某一个分支 开发者A在自己分支上正常推送没有问题$ vim func1
$ cat func1
fun1 from A$ git add .
$ git commit -m A push func1
[feature-1 84e77e0] A push func11 file changed, 1 insertion()create mode 100644 func1$ git push origin feature-1
Enumerating objects: 4, done.
Counting objects: 100% (4/4), done.
Delta compression using up to 20 threads
Compressing objects: 100% (2/2), done.
Writing objects: 100% (3/3), 318 bytes | 159.00 KiB/s, done.
Total 3 (delta 0), reused 0 (delta 0), pack-reused 0
To github.com:DieSnowK/Git-Learn.git10cd204..84e77e0 feature-1 - feature-1开发者B在自己分支上正常推送没有问题$ cat func2
fun2 fron B$ git add .
$ git commit -m B push func2
[feature-2 31c8cbb] B push func21 file changed, 1 insertion()create mode 100644 func2$ git push origin feature-2
Enumerating objects: 4, done.
Counting objects: 100% (4/4), done.
Delta compression using up to 20 threads
Compressing objects: 100% (2/2), done.
Writing objects: 100% (3/3), 343 bytes | 343.00 KiB/s, done.
Total 3 (delta 0), reused 0 (delta 0), pack-reused 0
To github.com:DieSnowK/Git-Learn.git10cd204..31c8cbb feature-2 - feature-2
PS C:\Users\w1752\Desktop\My_Repository\Git-Learn至此开发者A和开发者B都互相看不到对方开发的文档并且在自己的分支上各自推送时没有任何冲突两人互不影响开发起来很丝滑假如此时开发者B无法继续完成文档开发需要开发者A接手该怎么办 开发者B将自己的分支名告诉开发者A开发者A从远端仓库将该分支拉下来$ git branch
* feature-1main$ git pull
remote: Enumerating objects: 4, done.
remote: Counting objects: 100% (4/4), done.
remote: Compressing objects: 100% (2/2), done.
remote: Total 3 (delta 0), reused 3 (delta 0), pack-reused 0
Unpacking objects: 100% (3/3), 323 bytes | 323.00 KiB/s, done.
From github.com:DieSnowK/Git-Learn* [new branch] feature-2 - origin/feature-2
There is no tracking information for the current branch.
Please specify which branch you want to merge with.
See git-pull(1) for details.git pull remote branchIf you wish to set tracking information for this branch you can do so with:git branch --set-upstream-toorigin/branch feature-1开发者A本地创建一个feature-2分支并且和远端的feature-2分支关联起来$ 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$ cat func2
fun2 from B$ vim func2 # Coding...$ cat func2
fun2 fron B
fun2 Done from A$ git add .$ git commit -m A edit func2 Done
[feature-2 2e279ac] A edit func2 Done1 file changed, 2 insertions(), 1 deletion(-)$ git push origin feature-2
Enumerating objects: 5, done.
Counting objects: 100% (5/5), done.
Delta compression using up to 20 threads
Compressing objects: 100% (2/2), done.
Writing objects: 100% (3/3), 280 bytes | 280.00 KiB/s, done.
Total 3 (delta 1), reused 0 (delta 0), pack-reused 0
remote: Resolving deltas: 100% (1/1), completed with 1 local object.
To github.com:DieSnowK/Git-Learn.git31c8cbb..2e279ac feature-2 - feature-2两人开发全部完毕后都需要将各自的代码合并到main中才算真正的开发完毕流程如下 开发者A 切换至maingit pull保证本地main是最新内容 切换至feature-1分支合并main分支有冲突就在feature-1分支解决 切换至main分支合并feature-1分支 将main分支推送至远端 $ git checkout main
Switched to branch main
Your branch is up to date with origin/main.$ git pull
Already up to date.$ git checkout feature-1
Switched to branch feature-1$ git merge main
Already up to date.$ git checkout main
Switched to branch main
Your branch is up to date with origin/main.$ git merge feature-1
Updating 10cd204..84e77e0
Fast-forwardfunc1 | 1 1 file changed, 1 insertion()create mode 100644 func1$ cat func1
fun1 from A$ git push
Total 0 (delta 0), reused 0 (delta 0), pack-reused 0
To github.com:DieSnowK/Git-Learn.git10cd204..84e77e0 main - main开发者B 切换至maingit pull保证本地main是最新内容 切换至feature-2分支合并main分支有冲突就在feature-2分支解决 由于feature-1分支已经merge进来了新内容为了保证feature-2远程分支最新最好在此时git push一下 git push的另一个原因是在实际的开发中main的merge操作⼀般不是由我们⾃⼰在本地进进行而是由审查人员进行其他⼈员或某些平台merge时操作的肯定是远程分⽀所以就要保证远程分⽀的最新如果此时merge发生冲突解决完冲突后需要commit之后才能push 切换至main分支合并feature-2分支 将main分支推送至远端 $ git checkout main
Switched to branch main
Your branch is up to date with origin/main.$ git pull
Already up to date.$ git checkout feature-2
Switched to branch feature-2
Your branch is up to date with origin/feature-2.$ git merge main
Merge made by the ort strategy.func1 | 1 1 file changed, 1 insertion()create mode 100644 func1$ ls
SnowK.txt func1 func2$ git status
On branch feature-2
Your branch is ahead of origin/feature-2 by 2 commits.(use git push to publish your local commits)nothing to commit, working tree clean$ git push
Enumerating objects: 4, done.
Counting objects: 100% (4/4), done.
Delta compression using up to 20 threads
Compressing objects: 100% (2/2), done.
Writing objects: 100% (2/2), 292 bytes | 292.00 KiB/s, done.
Total 2 (delta 1), reused 0 (delta 0), pack-reused 0
remote: Resolving deltas: 100% (1/1), completed with 1 local object.
To github.com:DieSnowK/Git-Learn.git2e279ac..2250eeb feature-2 - feature-2$ git checkout main
Switched to branch main
Your branch is up to date with origin/main.$ git merge feature-2
Updating 84e77e0..2250eeb
Fast-forwardfunc2 | 2 1 file changed, 2 insertions()create mode 100644 func2$ ls
SnowK.txt func1 func2$ git push
Total 0 (delta 0), reused 0 (delta 0), pack-reused 0
To github.com:DieSnowK/Git-Learn.git84e77e0..2250eeb main - main至此无论本地还是远端的feature-1和feature-2分支都没用了可以直接删掉了 2.远程分⽀删除后本地git branch -a依然能看到
问题描述明明已经删除了远程的⼏个分⽀但使⽤git branch -a发现很多在远程仓库已经删除的分⽀在本地依然可以看到问题追溯git remote show origin$ git remote show origin
* remote originFetch URL: gitgithub.com:DieSnowK/Git-Learn.gitPush URL: gitgithub.com:DieSnowK/Git-Learn.gitHEAD branch: mainRemote branches:main trackedrefs/remotes/origin/dev stale (use git remote prune to remove)refs/remotes/origin/test stale (use git remote prune to remove)Local branch configured for git pull:main merges with remote mainLocal ref configured for git push:main pushes to main (up to date)解决方案使用git remote prune origin命令$ git remote prune origin
Pruning origin
URL: gitgithub.com:DieSnowK/Git-Learn.git* [pruned] origin/dev* [pruned] origin/test