Repository: pypa/pipenv

Issue:
Pipenv install ignores updates to VCS (Git) branch/tag in 'ref'
Following the instructions [here](https://pipenv.pypa.io/en/latest/basics/#a-note-about-vcs-dependencies) and migrating from a requirements.txt file, I have created a Pipfile to install a dependency from VCS (Git).

```
[packages]
my_app = {editable = true, git = "https://{git_token}@github.com/my-git/my-app", ref = "v1.0.1"}
```
### Issue description

When running: `pipenv install --skip-lock` and the install was successfully run previously:
- Issue 1: does not update the VCS (Git) dependency to the new ref (branch/tag) version 
- Issue 2: completely ignores the ref value - i.e. `ref = "THIS SHOULD ERROR"` is compleletly ignored

### Expected result

Running install for editable dependency should install or update to the specified ref (branch/tag) or error if missing/unavailable.

### Actual result

- Result 1: Run `pipenv install --skip-lock`  with a **new** valid ref (branch/tag):
    - Ran successfully, no errors, however **no installation of specified version**.

    ``
    Installing dependencies from Pipfile…
      ================================ 0/0 - 00:00:00
    ``

- Result 2: Run `pipenv install --skip-lock` with an invalid ref (branch/tag) - i.e. `ref = "THIS SHOULD ERROR"` :
    - Ran successfully, no errors, however **no installation of specified version**.
    ```
    Installing dependencies from Pipfile…
      ================================ 0/0 - 00:00:00
    ```

- Result 3: **uninstall selected app first**, then run `pipenv install --skip-lock`
    - Ran successfully, correct installation of specified version.
    ```
    Installing dependencies from Pipfile…
      ================================ 1/1 - 00:01:29
    ```
  
### Steps to replicate

1. Create Pipfile with VCS dependency that has a specific app version e.g. django:
    ```
    [[source]]
    name = "pypi"
    url = "https://pypi.org/simple"
    verify_ssl = true
    
    [dev-packages]
    
    [packages]
    django = {editable = true, git = "https://github.com/django/django", ref = "2.2.13"}
    
    [requires]
    python_version = "3.8"
    ```

2. Run `pipenv install --skip-lock` to install django 2.2.13

3. Change the `ref = "3.0.8"` then run `pipenv install --skip-lock` - there will be no change

4. Change the `ref = "SURELY.THIS.WILL.ERROR"` then run `pipenv install --skip-lock` - there will be no error and no change

-------------------------------------------------------------------------------

Pipenv version: `'2020.6.2'`



Discussion:
Same here with v2020.8.13
`pipenv sync` and `pipenv install` doesn't update/change a editable to the right `ref` 

Resolving patch:
diff --git a/pipenv/environment.py b/pipenv/environment.py
--- a/pipenv/environment.py
+++ b/pipenv/environment.py
@@ -790,6 +790,8 @@ def is_satisfied(self, req):
                     vcs_type == req.vcs and commit_id == req.commit_hash
                     and direct_url_metadata["url"] == pipfile_part[req.vcs]
                 )
+            elif req.is_vcs or req.is_file_or_url:
+                return False
             elif req.line_instance.specifiers is not None:
                 return req.line_instance.specifiers.contains(
                     match.version, prereleases=True


Test patch: