On Wed, 15 May 2019, 14:04 Giorgio Forti, <alvarmayo...@gmail.com> wrote:

> I'm relatively new to Git.
> I use it from inside Visual Studio 2013, for the normal operations:
> commit, push ...
> I used and know other similar products but not Git.
> I'm searching in Git a feature I used in the past in another product.
>
> The situation is:
> I "inherited" a big Visual Studio 2013 solution under Git (A LOT of files
> in overr 40 different projects).
>

First, you have to be very sure if you have one repository with multiple
projects, or a collection of projects with multiple repositories. The git
native style would be to have one repository for each project and one super
project that contains references to given revision of each smaller project
("submodule"). Then super project would keep track of each smaller project
that makes up the whole big project.

I'm assuming that you really have one big repository with all the code in a
single project as far as git knows. (In practice, each project probably has
a subdirectory but if you run "git log" you'll get history log of all
projects intermingled.

This project has a remote repository somewhere.
> II have full access to files, and to the remote repository.
> I have a lot of changes committed locally but still NOT PUSHED to the
> remote repository, and I cannot PUSH these changes now
> (sorry for the terms, I use Git from inside Viasul Studio 2013, I don't
> know the Git correct terms)
> I need to retrieve all files of this solution* AS THEY WERE AT AS GIVEN
> DATE* to rebuild that version of the projects and test.
>

You probably want to see "git log" and figure out the commit that is
nearest the timestamp you want. If you have multiple commits made during
the given date, you probably don't want to select one of those randomly.
Once you know the sha1 of the commit you want, you can simply do "git
checkout -b my-special-date ...sha1...".

If I remember correctly, git also supports syntax "git checkout
'@2018-12-31 14:45'", if you're feeling lucky.

However, make sure that you don't have any uncommitted changes before doing
any checkout or reset.

I definitely recommend to learn about "git rebase -i" because you probably
will need it in near future. Git cherry-pick may help, too, if you are not
ready to learn about rebasing.

-- 
Mikko

-- 
You received this message because you are subscribed to the Google Groups "Git 
for human beings" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to git-users+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/git-users/CAM2wTFYpYhWkkuYdV9pzEB%2Bz6f6uM2o5h5QDGAri0TuqLaXhJg%40mail.gmail.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to