Re: [feature suggestion] Add 'git stash export', 'git stash import' commands to allow to backup stash externally

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Yuri wrote:
> On 5/5/21 11:43 PM, Johannes Sixt wrote:
> > I know. But, as I said, when you turn away from your current work, which
> > is precious, then you should make a commit, in particular, when you can
> > forsee that you might not be able to come back soon.
> 
> How can I commit unfinished work?

Just like that: `git commit`.

That's what you are doing anyway, whether you realize or not.

> Commits are public, this would break things.

No. Commits are most definitely not public. Not unless you do
`git push`, and only if you push to a public repository.

I have countless commits on local branches that nobody would every see.
Many on a "tmp" branch.

I also have many private repositories, which contain passwords and other
sensitive information. Again... Only for my eyes.

> > For long-term storage, use branches.
> 
> Branches are too heavy-weight.

No, each one is a single file consisting of 41 bytes.

A single stash takes about 200 bytes. Considerably more.

Compare:

 * .git/refs/heads/master
 * .git/logs/refs/stash

> They need merging. Sometimes several stash items need to be used
> together, which makes it inconvenient.

You mean like one stash item goes on top of another?

Like... Commits on a branch?


I think this boils down to a confussion of concepts. Stash items are
commits. The only real conceptual difference is that you did not
specify the message (-m tmp would do that trick).

Again. Check yourself; the commit is there:

 * git cat-file -p stash@{0}
 * git cat-file -p master

Cheers.

-- 
Felipe Contreras



[Index of Archives]     [Linux Kernel Development]     [Gcc Help]     [IETF Annouce]     [DCCP]     [Netdev]     [Networking]     [Security]     [V4L]     [Bugtraq]     [Yosemite]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux SCSI]     [Fedora Users]

  Powered by Linux