我是Git的新手,所以如果我听起来像个菜鸟,我道歉。
我最初运行了以下命令:
git clone https://github.com/userx/projecty.git
字符串
我在工作站上做了一些修改,但没有一个上传。有一个文件在github上更新了,我想同步到我的工作站:
https://github.com/userx/projecty/blob/master/whatever/whatever.py
型
我做了一些修改,它在本地,但他们可以/应该被覆盖。我只想在我的工作站上刷新一个文件,而不触及任何其他我做过的事情。任何关于如何做到这一点的想法将不胜感激。
谢谢你,谢谢
3条答案
按热度按时间kd3sttzy1#
我建议这样做:
字符串
这样应该就可以了,让你处于一个良好的工作状态。
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
将与远程跟踪分支的更改发生冲突。因此,通常情况下,您只会将此作为测试某些内容的临时措施,或者如果您不打算以后将本地分支与远程主服务器合并。pb3skfrl3#
这个问题是在大约10年前我第一次接触Git时问到的。
今天,我会做以下事情:
1.使用您选择的Web浏览器,在远程存储库中查找文件
1.点击“原始”视图
这在GitHub和GitLab中都可以工作,但系统之间存在细微差别。