# The Ultimate Git Course: Part 7 Video - Pulling now working

**URL:** <https://forum.codewithmosh.com/t/the-ultimate-git-course-part-7-video-pulling-now-working/15143>\
**Category:** Git\
**Created:** [September 14, 2022, 3:58am UTC](https://forum.codewithmosh.com/t/the-ultimate-git-course-part-7-video-pulling-now-working/15143 "2022-09-14T03:58:38Z")\
**Posts on this page:** 9\
**Page:** 1

<div class="post-metadata">

**Author:** ![sharktank](https://sea2.discourse-cdn.com/flex020/user_avatar/forum.codewithmosh.com/sharktank/32/4396_2.png) [@sharktank](https://forum.codewithmosh.com/u/sharktank)\
**Post date:** [September 14, 2022, 3:58am UTC](https://forum.codewithmosh.com/t/the-ultimate-git-course-part-7-video-pulling-now-working/15143/1 "2022-09-14T03:58:38Z")

</div>

So I’m on this part of the course, but there seems to be something wrong because when I’m at the part to do the “Git Pull” command just like mosh does to do the 3-way merge, I keep getting this error “Pulling without specifying how to reconcile divergent branches is discouraged”, not allowing me to finish the pull while it does for Mosh. I followed everything so far precisely how he does it but for some reason, it’s working for him and not for me (unless I do git pull -rebase which I didn’t want to do).

---

<div class="post-metadata">

**Author:** ![jmrunkle](https://sea2.discourse-cdn.com/flex020/user_avatar/forum.codewithmosh.com/jmrunkle/32/3765_2.png) [@jmrunkle](https://forum.codewithmosh.com/u/jmrunkle)\
**Post date:** [September 14, 2022, 2:05pm UTC](https://forum.codewithmosh.com/t/the-ultimate-git-course-part-7-video-pulling-now-working/15143/2 "2022-09-14T14:05:26Z")

</div>

Are you absolutely certain you are doing everything exactly like Mosh? If you have divergent branches, that means that you have conflicting changes between what you changed on GitHub and what you changed locally. Mosh avoided that by changing README on GitHub and adding a whole new file on the local branch.

Can you share your GitHub link and then what your local history looks like (eg. the output of `git log -p`)?

---

<div class="post-metadata">

**Author:** ![jmrunkle](https://sea2.discourse-cdn.com/flex020/user_avatar/forum.codewithmosh.com/jmrunkle/32/3765_2.png) [@jmrunkle](https://forum.codewithmosh.com/u/jmrunkle)\
**Post date:** [September 14, 2022, 2:09pm UTC](https://forum.codewithmosh.com/t/the-ultimate-git-course-part-7-video-pulling-now-working/15143/3 "2022-09-14T14:09:08Z")

</div>

> [@sharktank](#):
>
> Pulling without specifying how to reconcile divergent branches is discouraged

Another possibility is that this is just a warning and it actually did the merge anyway: [git merge - How can I deal with this Git warning? "Pulling without specifying how to reconcile divergent branches is discouraged" - Stack Overflow](https://stackoverflow.com/questions/62653114/how-can-i-deal-with-this-git-warning-pulling-without-specifying-how-to-reconci)

To retain default behavior and get rid of the warning, you should be able to run:

```shell
git config --global pull.ff true

```

---

<div class="post-metadata">

**Author:** ![sharktank](https://sea2.discourse-cdn.com/flex020/user_avatar/forum.codewithmosh.com/sharktank/32/4396_2.png) [@sharktank](https://forum.codewithmosh.com/u/sharktank)\
**Post date:** [September 14, 2022, 9:20pm UTC](https://forum.codewithmosh.com/t/the-ultimate-git-course-part-7-video-pulling-now-working/15143/4 "2022-09-14T21:20:38Z")

</div>

Yeah, I deleted/restarted my local and remote repo and did the whole thing again exactly how mosh did it and I’m still getting the error. Specifically, it says “_Need to specify how to reconcile divergent branches._”

This is my remote Repo: [GitHub - sharktankful/Mars](https://github.com/sharktankful/Mars)

 ![Screen Shot 2022-09-14 at 4.17.25 PM](https://us1.discourse-cdn.com/flex020/uploads/codewithmosh/original/2X/2/282adbbf78d68f6d46876f645de524df4d61e759.jpeg)

 ![Screen Shot 2022-09-14 at 4.22.09 PM](https://us1.discourse-cdn.com/flex020/uploads/codewithmosh/original/2X/a/ab6b493af3dcaebd74713fb2cf158303734a249b.jpeg)

---

<div class="post-metadata">

**Author:** ![sharktank](https://sea2.discourse-cdn.com/flex020/user_avatar/forum.codewithmosh.com/sharktank/32/4396_2.png) [@sharktank](https://forum.codewithmosh.com/u/sharktank)\
**Post date:** [September 14, 2022, 9:27pm UTC](https://forum.codewithmosh.com/t/the-ultimate-git-course-part-7-video-pulling-now-working/15143/5 "2022-09-14T21:27:20Z")

</div>

I could do that but I first just wanted to follow how he did it first and not get lost in any of the videos later on in the course.

---

<div class="post-metadata">

**Author:** ![jmrunkle](https://sea2.discourse-cdn.com/flex020/user_avatar/forum.codewithmosh.com/jmrunkle/32/3765_2.png) [@jmrunkle](https://forum.codewithmosh.com/u/jmrunkle)\
**Post date:** [September 14, 2022, 9:49pm UTC](https://forum.codewithmosh.com/t/the-ultimate-git-course-part-7-video-pulling-now-working/15143/6 "2022-09-14T21:49:17Z")

</div>

> [@jmrunkle](#):
>
> `git config --global pull.ff true`

If you do this, it should just be explicitly setting the default, but silencing the warning. So you should not be worried about diverging from Mosh’s setup.

---

<div class="post-metadata">

**Author:** ![sharktank](https://sea2.discourse-cdn.com/flex020/user_avatar/forum.codewithmosh.com/sharktank/32/4396_2.png) [@sharktank](https://forum.codewithmosh.com/u/sharktank)\
**Post date:** [September 14, 2022, 10:40pm UTC](https://forum.codewithmosh.com/t/the-ultimate-git-course-part-7-video-pulling-now-working/15143/7 "2022-09-14T22:40:13Z")

</div>

I think I somewhat understand so I’ll try that.

---

<div class="post-metadata">

**Author:** ![sharktank](https://sea2.discourse-cdn.com/flex020/user_avatar/forum.codewithmosh.com/sharktank/32/4396_2.png) [@sharktank](https://forum.codewithmosh.com/u/sharktank)\
**Post date:** [September 15, 2022, 1:31pm UTC](https://forum.codewithmosh.com/t/the-ultimate-git-course-part-7-video-pulling-now-working/15143/8 "2022-09-15T13:31:03Z")

</div>

To give an update, I did try that and it did create the same exact result as in the video so thanks!

---

<div class="post-metadata">

**Author:** ![Willz](https://avatars.discourse-cdn.com/v4/letter/w/898d66/32.png) [@Willz](https://forum.codewithmosh.com/u/Willz)\
**Post date:** [November 10, 2023, 7:58pm UTC](https://forum.codewithmosh.com/t/the-ultimate-git-course-part-7-video-pulling-now-working/15143/9 "2023-11-10T19:58:55Z")

</div>

Git’s merge strategy defaults to “recursive”, but in Git 2.30 and later, a new merge strategy “ort”, also known as “Ostensibly Recursive’s Twin”, was introduced. The “ort” strategy fixes some issues with the “recursive” strategy and is significantly faster in large repositories, especially those involving many renames.

If you want to change Git’s merge strategy from “ort” to “recursive”, you can use the following command:

```bash
git config --global merge.strategy recursive

```

This command sets the merge strategy in Git’s global configuration to “recursive”. Thus, when you execute the `git merge` command, Git will use the “recursive” strategy by default.

Please note that although the “recursive” strategy is Git’s default strategy, the “ort” strategy may perform better in some cases. Before switching merge strategies, you might need to consider your specific needs and the pros and cons of these two strategies.
