在这里下载git:https://git-scm.com/

安装的时候, 如果是windows系统的话, 可以勾选unix的命令行工具, 这样在windows命令行下会多出很多命令, 例如ls.

Git基本命令大致分这些, 这一部分只讲创建项目这块.

  1. 创建git项目
  2. 基本工作流程 (Workflow)
  3. 文件相关操作
  4. 历史和别名
  5. 忽略文件 (Ignoring)

创建项目

1.开始新项目

git init 项目名:

通过这个命令git创建了一个文件夹叫做learn-git.

进入这个目录, 执行ls命令, 不会看到任何文件:

但是如果执行ls -al命令, 就可以看见以.开头的文件了:

这时就可以看到一个.git文件夹了. git的仓库就在这.

进入这个.git文件夹:

回到工作文件夹 (learn-git).

通过git status命令查看git仓库的状态:

可以看到, 目前是在master分支上, master分支是git的默认分支.

目前还没有任何提交(commit), 也没有任何东西需要commit, 因为我还没有创建任何文件, 那么就开始创建文件吧.

[这里我使用vscode]

然后vscode会创建一个lorem.txt文件, 并打开它.

贴进去一些文字:

Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book. It has survived not only five centuries, but also the leap into electronic typesetting, remaining essentially unchanged. It was popularised in the 1960s with the release of Letraset sheets containing Lorem Ipsum passages, and more recently with desktop publishing software like Aldus PageMaker including versions of Lorem Ipsum.

如果没有自动换行显示的话, 可以按opt+z:

回到命令行, 再次输入git status查看状态:

这时我们看到了一些变化:

写到是有个文件未被追踪 lorem.txt.

我需要做的就是把这个文件添加到git index或者git staging 区.

这时就使用这个命令: git add lorem.txt.

执行命令后再看一下状态:

这时写到, 有变化需要被提交(commit, 以后说英文吧), 这就是说lorem.txt这个新文件现在处于git的staging区, 等待被commit, 还没有被commit. 我可以移除这个文件, 并且不会有git 仓库(repository)有任何影响. 不过现在我还是想提交它, 所以执行 git commit命令, 如果不带任何参数的话, git将打开默认的编辑器:

我的默认编辑器是vi.

vi的操作是, 输入i, 然后进入insert模式, 就可以输入文字了:

然后按esc, 输入命令:wq 保存并关闭vi. 就会回到原来的命令行.

这里显示了刚才我在git commit时输入的文字, 但是换行没有了, 实际上还有的, 只不过是这里没显示罢了.

还有这个root-commit表示, 这是这个repository的第一个commit.

然后再执行git status:

写到没有需要commit的东西, 工作树是干净的.

这时lorem.txt已经进入了git respository. 这个变化也成了git commit历史的一部分.

2.添加git到现有项目:

需要一个项目, 所以可以访问这个有趣的网站: http://www.initializr.com/ 去生成一个项目:

把这些都勾选上, 这样可以多一些文件.

然后点击Download it.

下载后解压缩该文件, 使用unzip命令:

然后会出现一个initializr目录, 我把这个目录改一下名:

接下来, 进入这个目录, 然后就准备开始把git添加到这个项目了.

使用git init命令, 这时不需要加上项目名参数了:

git就会初始化一个新的repository, 并把当前目录作为working directory 工作目录.

这时就可以看到.git目录了:

查看以下状态 git status:

当前是在master分支, 没有任何commit, 并且有很多未被追踪的文件.

为了把所有这些文件一次性添加到git staging (临时)区和git index (索引), 那就使用命令: git add . 注意这里还有一个点.

git就会把所有的文件都列出来, 因为这个点 . (period) 会把该项目下所有的文件都递归的添加进去.

接下来就是git commit -m "需要写的文字可以写在这里": 这次我是在行内输入的文字, 加参数-m, 然后文字写在双引号内:

这几次命令中还可以看到圆圈里面的文字, 就照着做就行, 进行用户名和邮件的全局配置.

然后再看一下状态 git status:

不出所料.

当前呢, 这个项目/目录是这个git repository的一部分, 之所以称这个working directory是git repository的一部分, 这是因为它下面有个.git目录. 如果把这个目录删除了, 那么它就不再被git所管理了. 下面就这么做一下:

rm -fr .git :

嗯 git status表示这不是一个git repository.

参与Github项目.

先拿张老师的一个项目为例: https://github.com/geffzhang/opendotnet

肯定是需要github账户并登陆的.

fork 项目.

这里, 登陆后, 右上角显示的是我的账户的头像. 左边是该repository的用户以及当前repository的名字.

然后点击fork按钮.

选择我的用户名.

然后, 我就把张老师的项目复制到我的用户名下了,  可以看到左上角是我的用户名, repository名字不变, 还有一个注释, 写的是forked的from原来用户.

随后我要克隆这个项目(clone).

在箭头处复制该repository的地址, 然后打开本地电脑的命令行, 输入命令 git clone repository的地址 来进行clone.

(这里我换了一个项目进行fork, 因为上面这个项目太大了):

可以看到, 项目较大, 进度很慢.

等clone完之后, 进入该文件夹. 可以看到项目文件了:

可以看到.git目录, 里面有文件:

回到上层目录查看状态:

因为这是刚刚clone过来的项目, 所以它是最新的 update to date.

里面的origin 是对这个github repository的远程的引用, /master表示是在这个远程repository的master分支上.

今天就写这些.

这里讲了三种不同为项目添加git的方式.

使用到了几个最常用的命令:

git init, git add, git commit, git status, git clone.

Git基本命令 -- 创建Git项目的更多相关文章

  1. 如何将git本地创建的项目推送到github仓库

    除了集中式的版本控制系统CVS和SVN外,还有目前世界上最先进的分布式版本控制系统Git,它的创始人是创建了linux的大神 - linus.GitHub网站与2008年开始服役,为开源项目免费提供G ...

  2. Java_eclipse软件与git配合使用创建git仓库

    一.在eclipse上安装git,和安装其他插件一样 help->Install new software->add... 在弹出框中输入name,location;点击-->ok ...

  3. eclipse软件与git配合使用创建git仓库

    一.在eclipse上安装git,和安装其他插件一样 help->Install new software->add... 在弹出框中输入name:git,location:http:// ...

  4. git基本命令和仓库操作

    首先git是什么?git是github上的一个代码托管工具,是一款代码版本管理工具,github上的代码是基于git来进行托管的.github是全球的开源社区.Git 保存的不是文件的变化或者差异,而 ...

  5. git入门 创建版本库, 版本管理 分支 标签

    参考: https://www.liaoxuefeng.com/wiki/0013739516305929606dd18361248578c67b8067c8c017b000 GIT最流行的分布式版本 ...

  6. idea创建springcloud项目图文教程(EurekaServer注册中心)

    http://blog.csdn.net/hcmony/article/details/77854999 idea创建springcloud项目图文教程(EurekaServer注册中心)(六) 1, ...

  7. 【git】搭建git服务器

    在 Linux 下搭建 Git 服务器 目录 ① 安装 Git ② 服务器端创建 git 用户,用来管理 Git 服务,并为 git 用户设置密码 ③ 服务器端创建 Git 仓库 ④ 客户端 clon ...

  8. vs在微软官方tfs创建私有项目过程

    谁也不是成天创建新项目,每次一创建就跟没干过这活似的,这次把它记下,再用的时候来翻,也希望能给别人点帮助. 上https://dev.azure.com/,tfs原来的网址会往这里跳,现在都在往dev ...

  9. 第二章——建立一个HelloWorld项目,练习使用git的add/commit/push/pull/fetch/clone等基本命令。比较项目的新旧版本的差别-----答题者:徐潇瑞

    1.首先下载安装git,很简单所以就不详细说了,当弹出一个类似的命令窗口的东西,就说明Git安装成功 2.因为Git是分布式版本控制系统,所以需要填写用户名和邮箱作为一个标识 3.接着,注册githu ...

随机推荐

  1. linux shell 执行远程命令

    我在本地的shell脚本中,想要直接执行远程服务器的一个shell脚本: ssh -l root 192.168.1.1 "/data/t.sh" 记得提前给远程服务器的 /dat ...

  2. HashMap、Hashtable、 LinkedHashMap、TreeMap四者之分。

    java为数据结构中的映射定义了一个接口java.util.Map,此接口主要有四个常用的实现类,分别是HasMap.Hashtable.LinkedHasmap和TreeMap. (1)HashMa ...

  3. toString 方法在数组中的使用

    对于一个一维数组,他在转换成字符串的时候应该调用Arrays.toString(); 对于一个多维数组,他在转换成字符串的时候应该调用Arrays.deepToString(); 实例: packag ...

  4. 机器学习之Adaboost (自适应增强)算法

    注:本篇博文是根据其他优秀博文编写的,我只是对其改变了知识的排序,另外代码是<机器学习实战>中的.转载请标明出处及参考资料. 1 Adaboost 算法实现过程 1.1 什么是 Adabo ...

  5. 两种简单的方法Docker构建LANMP

    在初步入门学习Docker的过程中一步步了解了Docker容器在团队开发中所起到的作用,一边学习一边操作基本命令,当然到现在还处于一个擦边的入门阶段. 尝试一下用Docker构建一个集成开发环境. S ...

  6. Py4j-RPC

    python 使用灵活.方便在科研中被广泛的使用,Numpy和SciPy等科学计算库使其拥有强大的计算方式.很多机器学习和深度学习的库也都采用了python,然而在大数据.后台开发中仍然较多的使用Ja ...

  7. Redis持久化存储

    Redis是一个支持持久化的内存数据库,也就是说redis需要经常将内存中的数据同步到磁盘来保证持久化.redis支持四种持久化方式,一是 Snapshotting(快照)也是默认方式:二是Appen ...

  8. 嵌入式Linux引导过程之1.5——从BootRom到Xloader

    在开始看Xloader_Entry的代码之前,我想先总结一下从芯片上电到开始运行Xloader的代码的过程,这是我目前理解的一个过程,可能有所出入,待以后继续完善. 当 系统上电之后,首先会将PC寄存 ...

  9. 使用CXF和spring搭建webService服务

    虽然下一个项目需要使用xfire,但是在查资料的过程中还是看到有不少地方都说cxf比xfire更好,cxf继承了xfire,但是不仅仅包含xfire,因此便也一起来尝试尝试.大概是有了xfire的经验 ...

  10. R语言︱决策树族——随机森林算法

    每每以为攀得众山小,可.每每又切实来到起点,大牛们,缓缓脚步来俺笔记葩分享一下吧,please~ --------------------------- 笔者寄语:有一篇<有监督学习选择深度学习 ...