threads / discuss / 50960

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

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

## tl;dr

9 messages between Apr 21, 2019 and Apr 21, 2019.

replies: 8people: 4as markdown or json

rob· Apr 21, 2019, 03:01 UTC · lore

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
Adrian H· Apr 21, 2019, 05:03 UTC · re: rob · lore

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

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:
Show 40 quoted lines
>
> 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
>
-- 
========================================
            Adrian Hawryluk
         BSc. Computer Science
----------------------------------------
           Specialising in:
        OOD Methodologies in UML
  OOP Methodologies in C, C++ and more
        RT Embedded Programming
            GUI Development
========================================
rob· Apr 21, 2019, 12:34 UTC · re: Adrian H · lore

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

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.

--rob
On 4/21/19 1:03 AM, Adrian H wrote:
Show 62 quoted lines
> 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
>>
>
Philip Oakley· Apr 21, 2019, 13:03 UTC · re: rob · lore

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

Hi Rob,
On 21/04/2019 13:34, rob wrote:
Show 9 quoted lines
> 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

Show 70 quoted lines
>
> --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
>>>
>>
rob· Apr 21, 2019, 17:07 UTC · re: Philip Oakley · lore

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

possibly.  What do I do about that?
--rob
On 4/21/19 9:03 AM, Philip Oakley wrote:
Show 91 quoted lines
> 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
>
>>
>> --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
>>>>
>>>
>
Philip Oakley· Apr 21, 2019, 17:22 UTC · re: rob · lore

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

On 21/04/2019 18:07, rob wrote:
> possibly. What do I do about that?
>
> --rob
>
see below.
Show 22 quoted lines
>
> 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.
Show 75 quoted lines
>>>
>>> --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
>>>>>
>>>>
>>
rob· Apr 21, 2019, 18:53 UTC · re: Philip Oakley · lore

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

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
>>>>>>
>>>>>
>>>
>
rob· Apr 21, 2019, 21:18 UTC · re: rob · lore

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

I got it to do what I want.  I have alias nuke='rm -rfv'
So I did
     nuke github.com/alecthomas/gometalinter (modified content)
     nuke github.com/kisielk/errcheck (modified content)
     nuke github.com/rogpeppe/godef (modified content)
     git rm github.com/alecthomas/gometalinter (modified content)
     git rm github.com/kisielk/errcheck (modified content)
     git rm github.com/rogpeppe/godef (modified content)
     git commit the rm operation.
     go get github.com/alecthomas/gometalinter (modified content)
     go get github.com/kisielk/errcheck (modified content)
     go get github.com/rogpeppe/godef (modified content)
     git add these, then git commit.
And my directories are clean when I git status them.
I could not figure out anything else to do.
--rob
On 4/21/19 2:53 PM, rob wrote:
Show 139 quoted lines
> 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:
>> 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
>>>>>>>
>>>>>>
>>>>
>>
Andreas Schwab· Apr 21, 2019, 13:14 UTC · re: rob · lore

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

On Apr 20 2019, rob <drrob100@fastmail.com> wrote:
Show 7 quoted lines
> 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)

You have submodules with modified content. If you want to keep them you need to create commits in each modified submodule, then add them to the superproject and commit there.

Andreas.
-- 
Andreas Schwab, schwab@linux-m68k.org
GPG Key fingerprint = 7578 EB47 D4E5 4D69 2510  2552 DF73 E780 A9DA AEC1
"And now for something completely different."

← back to recent threads