git混乱-克隆回购协议返回的是过去的版本
我对git的使用有些困惑。 我将一个回购从一个公司克隆到另一个公司,新的克隆是前一段时间处于活动状态的原始公司的状态。因此,它的克隆是一个过去的版本。 当我使用“git log-n1”查看新repo(克隆)的最新提交信息时,它与我克隆的原始repo(最新提交信息)匹配,因此这让我更加困惑,因为git表明这两个都是最新版本。 我在ubuntu服务器上使用Git1.5.4.3。 有什么想法吗git混乱-克隆回购协议返回的是过去的版本,git,Git,我对git的使用有些困惑。 我将一个回购从一个公司克隆到另一个公司,新的克隆是前一段时间处于活动状态的原始公司的状态。因此,它的克隆是一个过去的版本。 当我使用“git log-n1”查看新repo(克隆)的最新提交信息时,它与我克隆的原始repo(最新提交信息)匹配,因此这让我更加困惑,因为git表明这两个都是最新版本。 我在ubuntu服务器上使用Git1.5.4.3。 有什么想法吗 谢谢您与其他回购协议在同一分行吗 (默认情况下,您获得master,并且在切换之前,其他分支中较新的提交不可
谢谢您与其他回购协议在同一分行吗
(默认情况下,您获得master,并且在切换之前,其他分支中较新的提交不可能隐藏。)首先确保所有更改都提交到远程存储库中
git add .
git commit -m "my commit message"
运行git status
时不应显示未提交的更改
然后在本地副本上尝试运行
git pull origin master #or whatever branch you're on
您可以通过运行
git branch -a
-a
显示本地分支以及从中克隆的存储库中的分支
如果您需要从远程存储库切换到上的另一个分支,则需要首先设置本地跟踪分支。该命令将类似于:
git branch --track my_branch origin/my_branch
git checkout my_branch
有疑问时就跑
git pull origin master #or whatever branch you're on
这将使您的本地工作副本与远程存储库一起更新。如果您对换行符的处理不一致(
core.autocrlf
),则可能会发生这种情况
git add .
git commit -m "my commit message"
做一个简单的更改(在一个文件中添加一行)
在这里粘贴所说的
git diff
,git status
,cat.git/config
以及git commit-am“test”
的确切输出您能给出在每台计算机上键入的命令吗?我可能更容易了解发生了什么。当然,在第二次比较中,我做了:$git clone repoURL,然后检查是否有正确的SHA1签名,在克隆repo中,我做了:$git log-n1我只是比较了两台机器上的哈希,它们匹配。。。因此,这两个分支上的repo似乎处于相同的状态,它应该是git log-n1 origin
,否则您将在当前分支上列出提交,它可能是“master”,并且除非您在其上执行git pull
,否则“master”分支不会是最新的wrt远程更改。我没有在这两个分支上创建任何分支,所以他们都在和总公司合作。当我克隆时,它创建了一个从头开始的repo,因此即使我想感谢,我也无法创建分支,因此原始repo上的“git branch-a”仅显示主分支(*master),而新克隆repo上显示的是(*master\n origin/HEAD\n origin/master)。老实说,我不知道这意味着什么。我刚做了“git pull origin master”,它告诉我它是最新的。。。所以我认为它的原始状态不正确,或者我应该说我认为签入的repo不代表工作目录状态。。。在原始repo上,每次我执行“git commit-m‘test’”,它都会提交最新的更改,就像它第一次看到它们一样……您的远程repo上可能有“未老化”的更改。在远程回购上运行git add.
以暂存所有更改。然后git提交-m“我的消息”
。然后试着从本地repo再次运行git pull origin master
。。。即使在我不更改任何内容的时候,也会执行“git add.”&“git commit-m“test”不断地重新提交更改,就好像它是第一次看到它们一样。。。相反,它应该告诉我“无需承诺”或类似的事情。我有一种感觉与此有关