Git流程和核心语法,与svn对比(一)

工作中一直使用svn仓库管理,最近了解了下Git管理方式,此文章做以记录。欢迎指出错误和不足。

此一系列文章使用终端方式进行仓库管理,图形化管理推荐使用sourceTree。

Pro Git 网页版 : https://git-scm.com/book/zh/v2
叶大简书 > http://www.jianshu.com/p/87e34894a9f9?utm_campaign=maleskine&utm_content=note&utm_medium=writer_share&utm_source=weibo

1.安装

mac下Git有多中安装方式,这里采用终端的方式,便于使用各种命令;图形化方式的也比较方便,但是图形化的部分命令无法使用。
下载地址: http://git-scm.com/download/mac

2.配置

当安装完 Git 应该做的第一件事就是设置你的用户名称与邮件地址。 这样做很重要,因为每一个 Git 的提交都会使用这些信息,并且它会写入到你的每一次提交中,不可更改:

$ git config --global user.name "John Doe"
$ git config --global user.email johndoe@example.com

再次强调,如果使用了 --global 选项,那么该命令只需要运行一次,因为之后无论你在该系统上做任何事情, Git 都会使用那些信息。 当你想针对特定项目使用不同的用户名称与邮件地址时,可以在那个项目目录下运行没有 --global 选项的命令来配置。

3.获取 Git 仓库

有两种取得 Git 项目仓库的方法。 第一种是在现有项目或目录下导入所有文件到 Git 中; 第二种是从一个服务器克隆一个现有的 Git 仓库

(1)初始化仓库:

在现有目录下使用一下命令

$ git init

该命令将创建一个名为 .git的子目录,这个子目录含有你初始化的 Git 仓库中所有的必须文件,这些文件是 Git 仓库的骨干。 但是,在这个时候,我们仅仅是做了一个初始化的操作,你的项目里的文件还没有被跟踪。

如果你是在一个已经存在文件的文件夹(而不是空文件夹)中初始化 Git 仓库来进行版本控制的话,你应该开始跟踪这些文件并提交。 你可通过 git add命令来实现对指定文件的跟踪,然后执行 git commit提交:

$ git add *.c
$ git add LICENSE
$ git commit -m 'initial project version

现在,我们已经得到了一个实际维护(或者说是跟踪)着若干个文件的 Git 仓库

(2)克隆现有的仓库

远程克隆文件,svn等部分其他管理工具为checkout,git为clone操作。
克隆仓库的命令格式是 git clone [url] 。 比如,要克隆 Git 的可链接库 libgit2,可以用下面的命令:

$ git clone https://github.com/libgit2/libgit2

如果你想在克隆远程仓库的时候,自定义本地仓库的名字,你可以使用如下命令:

$ git clone https://github.com/libgit2/libgit2 mylibgit

Git 支持多种数据传输协议。 上面的例子使用的是 https:// 协议,不过你也可以使用 git:// 协议或者使用 SSH 传输协议,比如 user@server:path/to/repo.git

tips:参考叶大的文章使用 user@server:path/to/repo.git这种格式clone时一直提示:

fatal: Could not read from remote repository.

Please make sure you have the correct access rights
and the repository exists.

希望小伙伴给出方法。

届时已将仓库数据clone一份到本地。
后续补充。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 1.git的安装 1.1 在Windows上安装Git msysgit是Windows版的Git,从https:/...
    落魂灬阅读 14,338评论 4 54
  • 1. 安装 Github 查看是否安装git: $ git config --global user.name "...
    Albert_Sun阅读 14,650评论 9 163
  • 项目中遇到的,使用notifyDataSetChanged() 刷新闪屏问题,网上找资料说 试了下,确实可以,不过...
    Lrxc阅读 12,028评论 0 6
  • 人类的表情无奇不有,不同场景会伴有不同的表情特征,从“喜悦”到“完全绝望”这是记录人类心路历程的最好诠释。 以下是...
    f220a6e26e90阅读 3,677评论 0 0
  • 我从小学五年级开始抽烟,真正有瘾的时候是在高中,工作后因为压力的原因,抽得就更凶了。 如今我40多岁,几十年抽烟的...
    半朽阅读 3,538评论 7 13