Hello all,
I'm a physics PhD student, not much experienced in serious software
writing, but I've got to the point where I felt learning to use a
version control system would be worthwhile. I decided to go for git
rather than CVS or Subversion because I felt a distributed VCS would
have more potential for future projects.
However, I've been experiencing some difficulties with using git, with
the results of commands not always being what the tutorial
<http://www.kernel.org/pub/software/scm/git/docs/tutorial.html> says it
should be. So, I'm hoping someone here can advise me!
I'm using openSUSE 10.0 and the package installed is git-core version
0.99.3git20050905-2.
The problem is to do with branches. Wanting to make some trial
revisions, I typed,
git branch trial
to create an appropriate branch. However, typing "git branch"
afterwards results in an error message: "git branch: I want a branch
name". No list of branches as the tutorial suggests!
However, I can use git checkout trial, make edits, and then go back to
git checkout master, and switch between the two, with the revisions in
one but not in the other. So the branches do seem to exist, and I can
modify them separately as one should be able to.
Now, having played around with the changes and found that they really
work very well, I'd like to merge the changes in the trial branch back
into the master. So, as per the tutorial, I type, git pull trial; and
am told, "No such remote branch: trial". I've also tried, git pull .
trial, which has the result, "No such remote branch: .".
I also note that when I'm in the master branch, having used git checkout
master, if I go into gitk, it does not show the existence of the trial
branch: but if I go into git checkout trial, it does. But the two
appear to be shown as completely separate entities.
Just as a test, I tried creating a throwaway branch,
git branch silly
which I then tried to delete with git branch -D silly. However, this
didn't delete the silly branch: it created a new one called -D (and both
of these *did* show up in gitk under the master branch). Using
git-branch instead of git branch results in an error message: "bash:
git-branch: command not found".
The result is that I'm kind of confused. I'd like to understand why the
commands I've tried from the tutorial haven't produced the results the
tutorial claims they will; but I'd also like to solve the original
problem: how just to merge the stuff in my trial branch back into the
master.
I suspect this might be simply that the SUSE package has some problems.
For example, it doesn't appear to have any man pages included. :-(
Thanks for any advice,
Best wishes,
-- Joe
On Thu, 2 Mar 2006, Joseph Wakeling wrote:
I'm using openSUSE 10.0 and the package installed is git-core version
0.99.3git20050905-2.
I think your problems are just related to the fact that the tutorial is
newer than your git version.
Just fetch a newer version of git first (0.99.3 should be new enough to
happily fetch a newer version using git itself, but it might be easier to
just get a tar-ball), and you'll have an easier time at it.
Linus
Linus Torvalds wrote:
On Thu, 2 Mar 2006, Joseph Wakeling wrote:
quoted
I'm using openSUSE 10.0 and the package installed is git-core version
0.99.3git20050905-2.
I think your problems are just related to the fact that the tutorial is
newer than your git version.
Just fetch a newer version of git first (0.99.3 should be new enough to
happily fetch a newer version using git itself, but it might be easier to
just get a tar-ball), and you'll have an easier time at it.
... and the way to fetch and install that repo with your current git is:
$ git clone git://git.kernel.org/pub/scm/git/git.git git
$ cd git && make all strip install
There are 2215 commits since 0.99.3, so I think you'll find much has
changed since then.
--
Andreas Ericsson andreas.ericsson@op5.se
OP5 AB www.op5.se
Tel: +46 8-230225 Fax: +46 8-230231
Thanks very much to all who offered advice on this. :-)
Unfortunately openSUSE is somewhat out of sync not just with git but in
libraries necessary to install the latest version (libcrypto.so.4,
libssl.so.4). The openssl (0.9.7g-2.4) and openssl-devel (0.9.7g-2)
packages don't contain these but rather contain libcrypto.so.0.9.7 and
libssl.0.9.7. Just in case it's important to future git development.
Best wishes & thanks again,
-- Joe
Joseph Wakeling wrote:
Thanks very much to all who offered advice on this. :-)
Unfortunately openSUSE is somewhat out of sync not just with git but in
libraries necessary to install the latest version (libcrypto.so.4,
libssl.so.4). The openssl (0.9.7g-2.4) and openssl-devel (0.9.7g-2)
packages don't contain these but rather contain libcrypto.so.0.9.7 and
libssl.0.9.7. Just in case it's important to future git development.
It might be useful for the openSuSE developers, but for git this is
totally irrelevant. If you build from sources yourself they will be
linked to whatever libraries you have installed.
--
Andreas Ericsson andreas.ericsson@op5.se
OP5 AB www.op5.se
Tel: +46 8-230225 Fax: +46 8-230231
On Thu, Mar 02, 2006 at 01:52:49PM +0000, Joseph Wakeling wrote:
Thanks very much to all who offered advice on this. :-)
Unfortunately openSUSE is somewhat out of sync not just with git but in
libraries necessary to install the latest version (libcrypto.so.4,
libssl.so.4). The openssl (0.9.7g-2.4) and openssl-devel (0.9.7g-2)
packages don't contain these but rather contain libcrypto.so.0.9.7 and
libssl.0.9.7. Just in case it's important to future git development.
If you use the latest openSUSE betas or the FACTORY tree, git 1.1.3 is
available there.
10.0 was released six months or so ago, so that is why it contains an
older version of git.
thanks,
greg k-h