git常用操作命令 简书(Git 基本操作)

wufei123 发布于 2023-12-12 阅读(490)

php100视频教程百度云

Git 的工作就是创建和保存你项目的快照及与之后的快照进行对比本章将对有关创建与提交你的项目快照的命令作介绍获取与创建项目命令git init用 git init 在目录中创资源建新的 Git 仓库 你可以在任何时候、任何目录中这么做,完全是本地化的。

在目录中执行 git init,就可以创建一个 Git 仓库了比如我们创建 run 项目:$ mkdir runoob 资源 $ cd runoob/$ git initInitialized empty Git repository in /Users/tianqixin/www/runoob/.git/# 在 资源/www/run/.git/ 目录初始化空 Git 仓库完毕。

现在你可以看到在你的项目中生成了 .git 这个子目录 这就是你的 Git 仓库了,所有有关你的此项目的快照数据都存放在这里ls -a. 资源.. .gitgit clone使用 git clone 拷贝一个 Git 仓库到本地,让自己能够查看该项目,或者进行修改。

如果你需要与他人合作一个项目,或者想要复制一个项目,看看代码,你就可以克隆那资源个项目 执行命令:git clone [url][url] 为你想要复制的项目,就可以了例如我们克隆 Github 上的项目:。

$ git clone git@github.com:schacon/s资源implegit.gitCloning into simplegit...remote: Counting objects: 13, done.remote: Total 13 (delta 0), 资源reused 0 (delta 0), pack-reused 13Receiving objects: 100% (13/13), done.Resolving deltas: 100% (2/2)资源, done.Checking connectivity... done.

克隆完成后,在当前目录下会生成一个 simplegit 目录:$ cd simplegit/$ ls READ资源ME Rakefile lib上述操作将复制该项目的全部记录$ ls -a. .. .git README Rakefile lib $ cd .git $ ls 资源 HEAD description info packed-refs branches hooks logs refs config index object资源s。

默认情况下,Git 会按照你提供的 URL 所指示的项目的名称创建你的本地项目目录 通常就是该 URL 最后一个 / 之后的项目名称如果你想要一个不一样的名字, 你可以在该命令后加上你想要的名称基资源本快照

Git 的工作就是创建和保存你的项目的快照及与之后的快照进行对比本章将对有关创建与提交你的项目的快照的命令作介绍git addgit add 命令可将该文件添加到缓存,如我们添加以下两个文件:$资源 touch README $ touch hello.php $ ls README hello.php $ git status -资源s?? README?? hello.php $。

git status 命令用于查看项目的当前状态接下来我们执行 git add 命令来添加文件:$ git add README he资源llo.php现在我们再执行 git status,就可以看到这两个文件已经加上去了。

$ git status -s A README A hello.php 资源 $新项目中,添加所有文件很普遍,我们可以使用 git add . 命令来添加当前项目的所有文件现在我们修改 README 文件:。

$ vim README在 README 添加以下内容:# R资源unoob Git 测试,然后保存退出再执行一下 git status:$ git status -s AM README A hello.php。

"AM" 状态的意思资源是,这个文件在我们将它添加到缓存之后又有改动改动后我们在执行 git add 命令将其添加到缓存中:$ git add .$ git status -s A README 资源 A hello.php。

当你要将你的修改包含在即将提交的快照里的时候,需要执行 git addgit statusgit status 以查看在你上次提交之后是否有修改我演示该命令的时候加了 -s资源 参数,以获得简短的结果输出如果没加该参数会详细输出内容:。

$ git statusOn branch masterInitial commitChanges to be committed: 资源 (use "git rm --cached ..." to unstage) new file: README new file: hello.php

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

git d资源iff查看已缓存的改动: git diff --cached查看已缓存的与未缓存的所有改动:git diff HEAD显示摘要而非整个 diff:git diff --stat在 hello.php 资源文件中输入以下内容:

$ git status -s A README AM hello.php $ git diff diff --gi资源t a/hello.php b/hello.php index e69de29..69b5711 100644--- a/hello.php+++ b/hello.php@@ -0,0资源 +1,3 @@+

git status 显示你上次提交更新后的更改或者写入缓存的改动, 而 git diff 一行一行地显示这些改动具体是啥接下来我们来查看下 git diff --cached 的执资源行效果:$ git add hello.php $ git status -s A README A hello.php $ git d资源iff --cached diff --git a/README b/READMEnew file mode 100644index 0000000..8f87495--- /dev/资源null+++ b/README@@ -0,0 +1 @@+# Runoob Git 测试diff --git a/hello.php b/hello.phpnew file mode 100644i资源ndex 0000000..69b5711--- /dev/null+++ b/hello.php@@ -0,0 +1,3 @@+。

git commit使用 git add 命令将想要快照的内容写入缓资源存区, 而执行 git commit 将缓存区内容添加到仓库中Git 为你的每一个提交都记录你的名字与电子邮箱地址,所以第一步需要配置用户名和邮箱地址。

$ git config --global us资源er.name run$ git config --global user.email test@run.com接下来我们写入缓存,并提交对 hello.php 的所有改动。

在首个例子中,我们使用 -资源m 选项以在命令行中提供提交注释$ git add hello.php $ git status -s A README A hello.php 资源 $ $ git commit -m 第一次版本提交[master (root-commit) d32cf1f] 第一次版本提交 2 files changed, 4 inse资源rtions(+) create mode 100644 README create mode 100644 hello.php

现在我们已经记录了快照如果我们再执行 g资源it status:$ git status# On branch masternothing to commit (working directory clean)。

以上输出说明我们在最近一次提交之资源后,没有做任何改动,是一个"working directory clean:干净的工作目录"如果你没有设置 -m 选项,Git 会尝试为你打开一个编辑器以填写提交信息 如果 Git 在你对它的配置中找资源不到相关信息,默认会打开 vim。

屏幕会像这样:# Please enter the commit message for your changes. Lines starting# with # w资源ill be ignored, and an empty message aborts the commit.# On branch master# Changes to be committed:#资源 (use "git reset HEAD ..." to unstage)## modified: hello.php#~~".git/COMMIT_EDITMSG" 9L, 257C

如果你觉得 g资源it add 提交缓存的流程太过繁琐,Git 也允许你用 -a 选项跳过这一步命令格式如下:git commit -a我们先修改 hello.php 文件为以下内容:。

再执行以下命令:git comm资源it -am 修改 hello.php 文件[master 71ee2cb] 修改 hello.php 文件 1 file changed, 1 insertion(+)

git res资源et HEADgit reset HEAD 命令用于取消已缓存的内容我们先改动文件 README 文件,内容如下:# Run Git 测试#hello.php 文件修改为:。

现在两个文件修改后,都提交资源到了缓存区,我们现在要取消其中一个的缓存,操作如下:$ git status -s M README M hello.php $ git add .$ 资源git status -s M README M hello.pp $ git reset HEAD -- hello.php Unst资源aged changes after reset:M hello.php $ git status -s M README M hello.php

现在你资源执行 git commit,只会将 README 文件的改动提交,而 hello.php 是没有的$ git commit -m 修改[master f50cfda] 修改 1 fil资源e changed, 1 insertion(+)$ git status -s M hello.php。

可以看到 hello.php 文件的修改并未提交这时我们可以使用以下命令将 h资源ello.php 的修改提交:$ git commit -am 修改 hello.php 文件[master 760f74d] 修改 hello.php 文件 1 file chang资源ed, 1 insertion(+)$ git statusOn branch master nothing to commit, working directory clean。

简而资源言之,执行 git reset HEAD 以取消之前 git add 添加,但不希望包含在下一提交快照中的缓存git rm如果只是简单地从工作目录中手工删除文件,运行 git status 时就会在 资源Changes not staged for commit 的提示。

要从 Git 中移除某个文件,就必须要从已跟踪文件清单中移除,然后提交可以用以下命令完成此项工作git rm 如果删除之前修改过并且资源已经放到暂存区域的话,则必须要用强制删除选项 -fgit rm -f 。

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

$ git rm hello.php rm hello.php$ ls README不从工作区中删除文件:资源$ git rm --cached README rm README$ ls README可以递归删除,即如果后面跟的是一个目录做为参数,则会递归删除整个目录中的所有子资源目录和文件:

git rm –r *进入某个目录中,执行此语句,会删除该目录下的所有文件和子目录git mvgit mv 命令用于移动或重命名一个文件、目录、软连接我们先把刚移除的 README 添加回资源来:$ git add README。

然后对其重名:$ git mv README README.md $ ls README.md

亲爱的读者们,感谢您花时间阅读本文。资源如果您对本文有任何疑问或建议,请随时联系我。我非常乐意与您交流。

发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

河南中青旅行社综合资讯 奇遇综合资讯 盛世蓟州综合资讯 综合资讯 游戏百科综合资讯 新闻84574