简体   繁体   中英

How to in Git, clone a remote (GitHub) repository from a specifed date

I'm trying to clone a git repository from a certain date. Even if this is not possible. Is it possible to clone the git repository and then roll it back to a certain date?

Example: my repository has been updated since May 2010, but I'd like to get the version from June 5th. I'd like to run the following command:

git clone git@github.com:projectfolder -date 06-05-2010

Cloning the repository will give you the entire commit history of all the source code.

You need only scroll back through git log and find the desired commit on your target date. Running git checkout SHA where SHA is the commit hash will give you the state of the source code on that date.

edit:

git log --since=2010-06-05 --until=2010-06-06 will help narrow it down!

Maybe something like this:

git log --since=2010-06-05 --until=2010-06-05

Find one of the commit ids you like there then do a git checkout <checkout id>

git clone git@github.com:projectfolder
git reset --hard $(git rev-list -1 $(git rev-parse --until=2010-06-06) master)

您可以使用git的revert命令将每个提交恢复到您要查找的日期,或者您可以在您感兴趣的提交中创建一个新分支。

Consider the following commits:

5 May (A) -- 7 May -- master (current)
5 May (B) -- 7 May /

There is no way git can figure out whether you want commit A or B . So, you should use git log or gitk to get the SHA1 of the commit from that date you want and then git checkout it.

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM