Git仓库应用

来源:互联网 发布:ubuntu启动程序命令 编辑:程序博客网 时间:2024/06/05 17:05

初始化仓库

我们可以通过两种方式来获取Git仓库

  1. 将项目所需的所有文件导入所有文件 Git 中
  2. 从一个服务器克隆一个现有的 Git 仓库。

1. 在现有目录中初始化仓库

如果你打算使用 Git 来对现有的项目进行管理,你只需要进入该项目目录并输入:

$ git init

这将会在当前目录下创建一个 .git 目录,此目录含有初始化的 Git 仓库中所有的必须文件。注意:此目录为隐藏的,就如同 .svn 目录一样,我们需要通过显示隐藏文件来看到它。如果我们需要指定在哪个目录初始化,可以通过如下命令:

$ git init test/$ ls -al test/total 4drwxr-xr-x 1 y 197121 0 121 12:45 ./drwxr-xr-x 1 y 197121 0 121 12:45 ../drwxr-xr-x 1 y 197121 0 121 12:45 .git/

可见,我们在当前目录下的子目录test下创建了Git仓库,那么我们可以在当前目录向仓库中添加文件么?

$ git add  1.txtfatal: Not a git repository (or any of the parent directories): .git

所以,git仓库管理的文件需要与仓库在同级目录下,或者在此目录的子目录下才能起作用。

2. 克隆仓库

在逛github的时候,遇到好的项目想下载要怎么办?和 svn 一样,我们也可以克隆远程仓库中的文件。

git clone [url] 

如果需要同上面一样,克隆到指定目录可以使用

git clone [url] [directory]

和 SVN 不同的是,现在使用的命令是 clone 而不是 checkout 。因为 Git 克隆的是该 Git 仓库的几乎所有数据,而不是仅仅复制你工作所需要文件。 当执行 git clone 命令的时候,默认配置下远程 Git 仓库中的每一个文件的每一个版本都将被拉取下来。

一般我们从GitHub克隆的项目,我们是通过https的方式,我们也可以通过SSH来配置和提交我们的项目,对于在自己的计算机上操作时,推荐使用此方法,比较便捷。可以通过下面文章来配置:

GitHub的SSH提交配置

远程仓库操作

1. 查看远程仓库

查看配置的远程仓库服务器,可通过 git remote 命令。 这将会列出你指定的每一个远程服务器的简写,如果要显示对应的URL,则可以加上 -v:

$ git remoteorigin$ git remote -vorigin  git@github.com:oDevilo/Git-Study.git (fetch)origin  git@github.com:oDevilo/Git-Study.git (push)

如果你使用 clone 命令克隆了一个仓库,命令会自动将其添加为远程仓库并默认以 “origin” 为简写。

想要查看某一个远程仓库的更多信息,可以使用 git remote show [remote-name] 命令:

$ git remote show mayun* remote mayun  Fetch URL: https://git.oschina.net/oDevilo/Git-Study.git  Push  URL: https://git.oschina.net/oDevilo/Git-Study.git  HEAD branch: master  Remote branches:    dev                     tracked    master                  tracked    refs/remotes/mayun/test stale (use 'git remote prune' to remove)    tast                    new (next fetch will store in remotes/mayun)  Local refs configured for 'git push':    dev    pushes to dev    (up to date)    master pushes to master (up to date)

它会列出远程仓库的 URL 与跟踪分支的信息。 它告诉你正处于 master 分支,并且远程分支有4个,其中 dev 和 master 和 test 是已经在本地的,test虽在本地但是远程仓库中已经被删除, tast 则是远程仓库有本地还未创建,将在下次fetch的时候会被抓取。

2. 添加远程仓库

在实际开发过程中,我们的项目可能会在多个git服务器上,不同服务器可能维护不同版本。这个时候,我们可能就要为项目添加新的远程仓库。可以通过命令git remote add <shortname> <url>并在此查看远程仓库信息:

$ git remote add mayun https://git.oschina.net/oDevilo/Git-Study.git$ git remote -vmayun   https://git.oschina.net/oDevilo/Git-Study.git (fetch)mayun   https://git.oschina.net/oDevilo/Git-Study.git (push)origin  git@github.com:oDevilo/Git-Study.git (fetch)origin  git@github.com:oDevilo/Git-Study.git (push)

如果远程仓库不止一个,那么看到的会使如上情况,第一列相当于仓库对应的别名,比如你想向其中一个仓库提交数据,可以直接通过别名而不是URL:

$ git push mayun master   (向仓库mayun的master分支提交)

3. 抓取和推送

可以通过下面方法抓取数据:

$ git fetch [remote-name]

此命令会访问远程仓库,从中拉取所有你还没有的数据。 执行完成后,你将会拥有那个远程仓库中所有分支的引用,可以随时合并或查看。

注意:

  • git fetch origin 会抓取克隆(或上一次抓取)后新推送的所有工作
  • 其将数据拉取到你的本地仓库 - 它并不会自动合并或修改你当前的工作
$ git pull mayun相当于$ git fetch mayun$ git merge mayun/master

如果要将本地数据推送到远程仓库可以使用git push [remote-name] [branch-name]

$ git push mayun dev

4. 重命名与移除

git remote rename [old] [new]重命名远程仓库:

$ git remote rename origin github$ git remotegithubmayun

通过git remote rm [name]来移除远程仓库:

$ git remote rm mayun$ git remotegithub
1 0
原创粉丝点击