git/list[1] front-page[2] threads[3] people[4] search[5] about
 

Re: I messed up my own git tree and I don't know how to fix it.

From
Rrob <drrob100@fastmail.com>
Date
Apr 21, 2019, 18:53 UTC
Message-ID
<6811c1cf-201c-3881-9d46-533d251ba3ce@fastmail.com>
In-Reply-To
<2f3dc6f3-cd6a-7079-d81f-66c101c98a64@iee.org>
I did
   git config --global core.trustctime false
   git config --global core.checkStat minimal
No difference
-rob
On 4/21/19 1:22 PM, Philip Oakley wrote:
Show 127 quoted lines
> On 21/04/2019 18:07, rob wrote:
>> possibly. What do I do about that?
>>
>> --rob
>>
> see below.
>>
>> On 4/21/19 9:03 AM, Philip Oakley wrote:
>>> Hi Rob,
>>>
>>> On 21/04/2019 13:34, rob wrote:
>>>> didn't work.  I did not get any error messages, just didn't work.  
>>>> After I did
>>>>
>>>>   git reset --hard
>>>>
>>>>   git status
>>>>
>>>> I see the same 3 files that say changes not staged for commit: 
>>>> modified and it lists the same 3 files.
>>> Could this be that the file timestamps are being changed in the 
>>> background and git is detecting those timestamp changes, even when 
>>> there is no change to the files.
>>> - Just as thought.
>>>
>>> (In-line posting is preferred, so as to see the replies in context)
>>> Philip
>>>
> If it is that, Try
> core.trustctime::
>     If false, the ctime differences between the index and the
>     working tree are ignored; useful when the inode change time
>     is regularly modified by something outside Git (file system
>     crawlers and some backup systems).
>     See linkgit:git-update-index[1]. True by default.
>
> Or,
> core.checkStat::
>     When missing or is set to `default`, many fields in the stat
>     structure are checked to detect if a file has been modified
>     since Git looked at it.  When this configuration variable is
>     set to `minimal`, sub-second part of mtime and ctime, the
>     uid and gid of the owner of the file, the inode number (and
>     the device number, if Git was compiled to use it), are
>     excluded from the check among these fields, leaving only the
>     whole-second part of mtime (and ctime, if `core.trustCtime`
>     is set) and the filesize to be checked.
>>>>
>>>> --rob
>>>>
>>>>
>>>> On 4/21/19 1:03 AM, Adrian H wrote:
>>>>> If I understand the commands you are using correctly, you are
>>>>> referencing the remote repo.  You need to reference the local repo.
>>>>> So try using the following commands:
>>>>>
>>>>> git checkout -- alecthomas/gometalinter
>>>>> git checkout -- kisielk/errcheck
>>>>> git checkout -- rogpeppe/godef
>>>>>
>>>>> Or if those are the only files that have been modified, then you can
>>>>> use the following single command:
>>>>>
>>>>> git reset --hard
>>>>>
>>>>> and that will reset all files that have not been staged.
>>>>>
>>>>> HTH
>>>>>
>>>>>
>>>>> A
>>>>>
>>>>>
>>>>> On Sat, Apr 20, 2019 at 11:22 PM rob <drrob100@fastmail.com> wrote:
>>>>>> I have my own code at a github repository, using Go.  Part of 
>>>>>> using Go
>>>>>> libraries not part of the official Go people is by using a system 
>>>>>> they
>>>>>> call go get.  This essentially uses git to, well, go get source 
>>>>>> code.
>>>>>> Mine are at github.com and golang.org.  My computer runs 
>>>>>> LinuxMint 19.1.
>>>>>>
>>>>>> I used goland IDE from jetbrains to run go fmt on my entire project.
>>>>>> Now I am getting this message that I cannot get rid of:
>>>>>>
>>>>>> changes not staged for commit:
>>>>>>
>>>>>>     modified: github.com/alecthomas/gometalinter (modified content)
>>>>>>
>>>>>>     modified: github.com/kisielk/errcheck (modified content)
>>>>>>
>>>>>>     modified: github.com/rogpeppe/godef (modified content)
>>>>>>
>>>>>>
>>>>>> I do not want any changes to central repos to be tracked or 
>>>>>> committed,
>>>>>> but I cannot undo this.  I tried, for example,
>>>>>>
>>>>>> git checkout -- github.com/alecthomas/gometalinter
>>>>>>
>>>>>> I don't get an error message but it does not do anything. The 
>>>>>> file is
>>>>>> not changes, and git status show me the same information, ie, these
>>>>>> files have changes not staged for commit.
>>>>>>
>>>>>> I do not know how to restore these files to the state they were 
>>>>>> in in
>>>>>> the repo, and to have my own git tree not to flag this as an 
>>>>>> unstaged
>>>>>> alteration.  Running rm -rfv on the repos on my computer, then 
>>>>>> running
>>>>>> go get to restore them does not change git status. It still sahs 
>>>>>> changes
>>>>>> not stated for commit: modified.
>>>>>>
>>>>>> This happens for the above 3 tree items.
>>>>>>
>>>>>> How do I restore these to the github remote repository condition 
>>>>>> and not
>>>>>> have my own git tree mark these as changed?
>>>>>>
>>>>>> --rob solomon
>>>>>>
>>>>>
>>>
>
Previous: Philip OakleyNext: rob
Message 7 of 9 in “I messed up my own git tree and I don't know how to fix it.”
  1. robApr 21, 2019
  2. Adrian HApr 21, 2019
  3. robApr 21, 2019
  4. Philip OakleyApr 21, 2019
  5. robApr 21, 2019
  6. Philip OakleyApr 21, 2019
  7. robApr 21, 2019
  8. robApr 21, 2019
  9. Andreas SchwabApr 21, 2019

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.