git -初始化克隆后获取最新文件

yc0p9oo0  于 11个月前  发布在  Git
关注(0)|答案(3)|浏览(96)

我是Git的新手,所以如果我听起来像个菜鸟,我道歉。
我最初运行了以下命令:

git clone https://github.com/userx/projecty.git

字符串
我在工作站上做了一些修改,但没有一个上传。有一个文件在github上更新了,我想同步到我的工作站:

https://github.com/userx/projecty/blob/master/whatever/whatever.py


我做了一些修改,它在本地,但他们可以/应该被覆盖。我只想在我的工作站上刷新一个文件,而不触及任何其他我做过的事情。任何关于如何做到这一点的想法将不胜感激。
谢谢你,谢谢

kd3sttzy

kd3sttzy1#

我建议这样做:

# Undo your changes to whatever.py.
git checkout whatever/whatever.py

# Pack up all your other changes, saving them to a special stash area.
git stash

# Update your repo, getting the latest, including the latest whatever.py.
git pull

# Now restore you changes from the stash.
git stash pop

字符串
这样应该就可以了,让你处于一个良好的工作状态。

ajsxfq5m

ajsxfq5m2#

假设你只是想在工作副本中覆盖该文件的内容(这样它在git status的输出中就显示为“已修改”),那么你可以这样做:
1.使用git fetch更新本地仓库的远程跟踪分支。这不会修改任何本地分支,也不会修改您的工作副本:
git fetch --all
1.使用git show从远程分支获取文件的副本,并通过重定向标准输出将其写入磁盘:
git show origin/master:whatever/whatever.py > whatever/whatever.py
通过指定origin/master,您将从远程跟踪分支复制文件,这将是该文件在git fetch上的最新版本。当然,您可以重定向标准输出以覆盖如上所示的现有文件,或者将输出写入其他地方。
git show命令也接受其他格式:请参阅man gitrevisions中的“指定修订版本”。
请注意,正如@bluefeet对他们的回答所评论的那样,如果您将此文件提交到本地分支,并且您的本地分支稍后将与远程master合并,那么您的本地复制的whatever/whatever.py将与远程跟踪分支的更改发生冲突。因此,通常情况下,您只会将此作为测试某些内容的临时措施,或者如果您不打算以后将本地分支与远程主服务器合并。

pb3skfrl

pb3skfrl3#

这个问题是在大约10年前我第一次接触Git时问到的。
今天,我会做以下事情:
1.使用您选择的Web浏览器,在远程存储库中查找文件
1.点击“原始”视图

  1. Ctrl-S通过本地副本进行保存
    这在GitHub和GitLab中都可以工作,但系统之间存在细微差别。

相关问题