Git 创建仓库和基本操作命令

Git 创建仓库和基本操作命令

文件转载git笔记:http://www.runoob.com/git/git-basic-operations.html

git init

Git 使用 git init 命令来初始化一个 Git 仓库,Git 的很多命令都需要在 Git 的仓库中运行,所以 git init 是使用 Git 的第一个命令。
在执行完成 git init 命令后,Git 仓库会生成一个 .git 目录,该目录包含了资源的所有元数据,其他的项目目录保持不变(不像 SVN 会在每个子目录生成 .svn 目录,Git 只在仓库的根目录生成 .git 目录)。
git init //该命令执行完后会在当前目录生成一个 .git 目录
git init newrepo //会在 newrepo 目录下会出现一个名为 .git 的目录

git add

将当前目录下的文件想要纳入版本控制,告诉 Git 开始对这些文件进行跟踪

$ git add .  //添加所有的文件
$ git add *.java  //使用通配符,添加后缀为 java的文件
$ git add README  //添加某一个文件
git commit

将添加到暂存区的文件进行提交

$ git commit -m '初始化项目版本'   

git add 和git commit 也可以合并提交,命令 git commit -am
这个命令相当于 git add . 和 git commit -m

$ git commit -am '初始化项目版本'   

两者的区别的是git commit -am 'str’命令只能提交已经追踪过且修改了的文件,
删除和新增文件就必须使用第一步的命令;

git clone

使用 git clone 从现有 Git 仓库中拷贝项目:
命令格式为:

git clone <remote>      //remote:Git 仓库。
git clone <remote> <directory>		//directory: 本地目录。

比如,要克隆 Ruby 语言的 Git 代码仓库 Grit,可以用下面的命令:

$ git clone git://github.com/schacon/grit.git

执行该命令后,会在当前目录下创建一个名为grit的目录,其中包含一个 .git 的目录,用于保存下载下来的所有版本记录。
如果要自己定义要新建的项目目录名称,可以在上面的命令末尾指定新的名字:

$ git clone git://github.com/schacon/grit.git mygrit

git status

git status 以查看在你上次提交之后是否有修改。

git diff

执行 git diff 来查看执行 git status 的结果的详细信息。
git diff 命令显示已写入缓存与已修改但尚未写入缓存的改动的区别。git diff 有两个主要的应用场景。

  • 尚未缓存的改动:git diff
  • 查看已缓存的改动: git diff --cached
  • 查看已缓存的与未缓存的所有改动:git diff HEAD
  • 显示摘要而非整个 diff:git diff --stat
git reset HEAD

git reset HEAD 命令用于取消已缓存的内容。

git reset --hard xxxxxx

现在回到指定某个版本的那一个提交

git reflog

git reflog查看历史提交记录
如果发现回退版本错了,找出想要回退的版本,进行回退
git reset --hard def5ade

git rm

如果只是简单地从工作目录中手工删除文件,运行 git status 时就会在 Changes not staged for commit 的提示。
要从 Git 中移除某个文件,就必须要从已跟踪文件清单中移除,然后提交。可以用以下命令完成此项工作

git rm <file>

如果删除之前修改过并且已经放到暂存区域的话,则必须要用强制删除选项 -f

git rm -f <file>

如果把文件从暂存区域移除,但仍然希望保留在当前工作目录中,换句话说,仅是从跟踪清单中删除,使用 --cached 选项即可

git rm --cached <file>

如我们删除 hello.php文件:

$ git rm hello.php 
rm 'hello.php'
$ ls
README

不从工作区中删除文件:

$ git rm --cached README 
rm 'README'
$ ls
README

可以递归删除,即如果后面跟的是一个目录做为参数,则会递归删除整个目录中的所有子目录和文件:

git rm –r * 

进入某个目录中,执行此语句,会删除该目录下的所有文件和子目录。

git mv

git mv 命令用于移动或重命名一个文件、目录、软连接。
我们先把刚移除的 README 添加回来: git add README
然后对其重名:

$ git mv README  README.md
$ ls
README.md

猜你喜欢

转载自blog.csdn.net/zhu522959034/article/details/88235241