美文网首页Git
超简洁且实用的git教程

超简洁且实用的git教程

作者: 昵称总是已被使用 | 来源:发表于2016-06-28 13:24 被阅读0次

最近朋友都问我有关git的问题,对于一个初学者包括我来说,刚学的时候是有点蒙的.所以写下这篇文章作为一个记录,如果你是老鸟,路过就行,当然也希望指出当中不对的地方,此教程简单,可以立即派上用场,不深入讲解高级功能,只讲一些基础的只是.

关于git的优点,这里我就不说了,大家网上一搜一大堆.所以今天只讲解如何关联到github等代码托管平台.
首先,你要有一个git客户端.
安装完git之后会弹出一个界面,表示安装成功
git config --global user.name 你的用户名 (给git配置用户名)
git config --global user.email 你的邮箱(给git配置邮箱)

//-----------一次完整的提交--------------------------
第一步:
创建版本库(仓库 repository):
进入你想创建版本库的盘符例如D盘,在命令行中可以用 cd d:命令进入。
mkdir mygitRepository(在D盘创建一个文件夹 mygitRepository)
cd mygitRepository(进入该文件夹)
pwd (用于显示当前目录)
第二步:

git init(把目录变成git可以管理的仓库)
git add test.txt(添加test.txt文件到仓库中)
git commit -m "第一次提交"(把该文件提交到仓库中。-m后面输入的是本次提交的说明)注:也可以同时添加多个文件比如:
$ git add file1.txt
$ git add file2.txt file3.txt
$ git commit -m "add 3 files."
//-----------一次完整的提交--------------------------
//---------------版本的回退----------------------------------------

场景:对test.txt文件进行修改,然而在提交的时候却发生了错误的提示

git status(查看当前版本的状态)
$ git status

On branch master# Changes not staged for commit:# (use "git add <file>..." to update what will be committed)# (use "git checkout -- <file>..." to discard changes in working directory)## modified: test.txt#

no changes added to commit (use "git add"and/or"git commit -a")
上面的提示说我们的test.txt文件已经发生了改变,也就是该文件被修改过了。
git diff(看看具体被修改了什么内容)
$ git diff test.txt
diff --git a/test.txt b/test.txt
index 46d49bf..9247db6 100644
--- a/test.txt
+++ b/test.txt
@@ -1,2 +1,2 @@
-Git is a version control system.
+Git is a distributed version control system.
Git is free software.
知道了文件修改了以后我们可以继续提交
git add 文件名
git commit -m 描述

$ git commit -m "add distributed"
[master ea34578] add distributed
1 file changed, 1 insertion(+), 1 deletion(-)
再用 git status查看当前的状态
$ git status

On branch master

nothing to commit (working directory clean)

现在,我们已经学会了修改文件,然后把修改提交到Git版本库
git log(显示从最近到最远的提交日志)

git log --pretty=oneline(这样会显示的更美观)

现在我们要回退到上一个版本
git reset --hard HEAD^(回退到上一个版本)

git reset --hard HEAD^^(回退到上上一个版本)
如果有一百个版本呢?
git reset --hard HEAD~100(回退到上一个版本)
再用git log查看

红色箭头表示已经回退到了上一个版本。cat test.txt.查看文档内容会发现回到了修改前
黄色箭头表示当前有两个版本(回退前有三个的) 黄色箭头指的文字表示你提交时对该版本的描述。
前面的一大窜黄色的编码就是commit id.我们可以通过这些id.来恢复最新版本,也就是该试验中第三个版本(之前已经被我们回退到了第二个版本了。)
有时候版本太多,而且又忘记了commit id。这怎么办?
git reflog(记录你每一次的命令)

看到了吧。head 1开始就是我们一共提交的版本了。黄色就是commit id了
第一行显示的是我们的回退历史。第二行就是我们现在要恢复的目标

以上命令就是恢复(回退)到最新版本

我们在git log --pretty=oneline一次看

我们可以看到上面就是我们提交的版本了。已经回退到了最新的版本
现在总结一下:
HEAD指向的版本就是当前版本,因此,Git允许我们在版本的历史之间穿梭,使用命令git reset --hard commit_id。
穿梭前,用git log可以查看提交历史,以便确定要回退到哪个版本。
要重返未来,用git reflog查看命令历史,以便确定要回到未来的哪个版本。

//------------------------版本的回退----------------------
//----------------撤销修改-------------------
场景一:在文件中修改了内容,但并没有git add
场景二:在文件中修改了内容,又使用了 git add
注意:如果修改了内容,且又使用了 git add和git commit.这就表示文件已经被提交了.
根据场景一查看版本状态

我们对文件进行了修改(增加了"这是第三行").
git checkout -- test.txt(撤销对文件的修改,该文件会恢复到修改前即丢弃工作区的修改)

从上面可以看到使用了 git checkout.git帮我们恢复了第二次提交的状态(第三次修改并未提交)
场景二:在文件中修改了内容,又使用了 git add(我在文件中增加了一行内容"我是第三行",并且对改行进行修改,把"三"改成"四"现在我用git add提交文件.)
现在使用 git checkout.再回到文件中,我们会发现文件恢复到了"我是第三行"而不是"我是第四行".接下来可以使用git commit提交文件.
/------------------撤销修改-------------------------------------
/------------------删除文件-------------------------------------
场景:往仓库里添加一个文件tt.txt
1.提交(提交步骤不多说了.不懂的回到前面看)
2.删除该文件
git rm tt.txt(删除tt.txt文件)
git commit -m "删除tt.txt文件"
如何恢复?
git reset --hard HEAD^(可以指定任意版本)
注意:目前知道删除文件并恢复的方法就这个.其他的不知道.
/------------------删除文件-------------------------------------
好了,上面的操作基本都能解决日常所需.
下面我们可以添加远程仓库了以coding平台为例.

你可以在coding平台或github等平台创建你的项目,这里我以Android项目为例:
在coding平台创建晚后是这样的:

Paste_Image.png

在你的电脑中可能你已经有了一个Android项目了,现在我们开始把我们的Android项目给推到我们的远程仓库上去.
有两种方式,一种是https,一种是ssh,怎么看不懂?看下图:

Paste_Image.png

用https这种方式在提交代码的时候是需要用户名和邮箱的.

Paste_Image.png

ssh这种方式无需用户名和邮箱,但是要配置一个密钥.

打开git 客户端
键入 ssh-keygen然后回车

Paste_Image.png

自己的项目一般不用设置密码,不过这个根据个人喜好,看到上面的图后你可以按回车.
接着键入cat ~/.ssh/id_rsa.pub,看到下面一大堆东西了吗?这个就是你的公钥,把它复制到coding平台里面,个个平台不一样,这里我就不演示了,自己找.

Paste_Image.png

好了,现在我们已经设置好了接下来回到原来位置,现在你已经有了一个Android项目了.找到你项目的位置打开,就像这样:

Paste_Image.png

在git里面进入你的项目所在的目录然后把你的项目作为仓库,进行初始化

Paste_Image.png

这时候你会发现你的项目里面多了这么一个文件

Paste_Image.png

现在你可以把你的项目和你的远程仓库关联起来了

Paste_Image.png

到了这里,你就已经关联成功了,现在是上传代码的时候了.
查看一下状态:git status

Paste_Image.png

看到那一堆红色的东西没有,那就是你的项目文件.你需要做的是把这些文件提交到你的远程仓库里面去
执行git add --all

Paste_Image.png

我们再看一下状态

Paste_Image.png

看到没有,已经全部变成绿色了,证明添加成功了,现在我们可以提交了
执行git commit -m "first commit"

Paste_Image.png

白花花的一片,到了这里你已经添加成功,还没完,因为你会发现你的远程仓库并没有看到任何代码.
执行git push -u origin master

Paste_Image.png

你会发现提交失败了.看提示他叫你先获取最新的数据,好吧
执行git pull

Paste_Image.png

天啊,还错,这是怎么了?其实这是在说你没有关联成功,你可以看到上面提示你
执行git branch --set-upstream-to=origin/<branch>master.
注意:<branch>表示你的分支名字,这里写master

Paste_Image.png

看到上图说明已经关联成功了.
再执行git pull

Paste_Image.png

看到了吧,已经在你的平台上pull下来一个文件了.别搞诉我你不知道是什么文件.
现在我们执行git push -u origin master

Paste_Image.png

回到我们的coding平台,刷新一下

Paste_Image.png

看到了吧.这就已经提交上去了.以后修改项目只需执行上面基础操作即可同步了.
就说到这里了.可能说的很乱,但是按着步骤走应该不会有问题.

相关文章

  • 超简洁且实用的git教程

    最近朋友都问我有关git的问题,对于一个初学者包括我来说,刚学的时候是有点蒙的.所以写下这篇文章作为一个记录,如果...

  • Git下载安装教程【windows10系统】

    原文:win10系统Git安装教程『纯小白教程超详细』【附赠Git使用教程】[https://www.itcast...

  • 一个很实用的Git 教程 网址

    https://www.yiibai.com/git/git_checkout.html 很实用的一个 git 教程

  • Git学习笔记--常用命令整理

    超实用Git学习笔记 Git全局配置git config --global user.name "用户名"git ...

  • 分享一个用Git装逼的小技巧~

    上次写完 实用且简单的Git教程,轻松搞定多人开发,得到的反馈信息简直超乎我的预期。 我前两天登掘金、简书、CSD...

  • 新款时尚眼妆的八种配色技巧!

    3ce overtake眼影盘超全眼妆教程来啦,很多宝宝都被种草过,是小仙女的必备单品,颜色丰富且够实用,适合日常...

  • Git 学习笔记 I

    最近学习git,听说廖雪峰老师的git教程不错,特地学习了下,确实比较实用,容易上手。毕竟git命令那么多,要熟练...

  • 你一定需要的5个实用网站,功能惊艳强大!

    昨天给大家分享了一波超实用的学习教程,小手点击→学习教程 今天给大家安利5个网站,功能都很实用,也很强大 ①Min...

  • Git学习笔记

    这里推荐一下瘳雪峰的Git教程 Git 其实用起来不是那么简单 创建一个repo git init #在某个文件夹...

  • git超实用的命令

    一般来说在企业或者自己在家使用git都可以使用以下步骤 保存本地正在开发或已经开发完成的代码(此步骤建立在查看代码...

网友评论

    本文标题:超简洁且实用的git教程

    本文链接:https://www.haomeiwen.com/subject/gsdtjttx.html