美文网首页
git常用操作详细版

git常用操作详细版

作者: minningl | 来源:发表于2017-12-04 17:19 被阅读5次

最强参考:廖雪峰git教程
https://www.liaoxuefeng.com/wiki/0013739516305929606dd18361248578c67b8067c8c017b000

git安装 (windows)

https://git-for-windows.github.io/ 或者 https://pan.baidu.com/s/1kU5OCOB#list/path=%2Fpub%2Fgit 上下载msysgit,
安装完成后,在开始菜单里找到 “Git”->“Git Bash”,蹦出一个类似命令行窗口的东西,就说明 Git 安装成功!

image.png
安装完成后,还需要最后一步设置,在命令行输入:
git config --global user.name "Your Name"
git config --global user.email "email@example.com"

git初始化

新建一个空文件夹,通过上面的msysgit进入当前文件夹,然后使用如下命令创建git空间

git init
image.png

为了不必要的麻烦,请使用UTF-8 编码

git添加文件

首先在上述的文件夹下新建一个文件 testGit.txt
内容如下:

Git is a version control system.
Git is free software.

使用 git add将上述文件添加到仓库

git add testGit.txt

然后提交,并且附加上传信息

git commit -m "wrote a testGit file"

其中-m后面的信息是注释信息,上传文件到仓库一共包括两步,

git add file
git commit -m "add a file"

可以多次add一次commit

git查看当前文件状态

git status

git查看文件和之前上传的不同

git diff
image.png

绿色的是文件中修改的内容

查看文件提交历史版本信息

git log
image.png

简化输出可以使用

git log --pretty=oneline
image.png

前面的一大串数字就是git的版本号,版本号是递增的

git版本回退

在 Git 中,用HEAD表示当前版本,上一个版本就是HEAD,上上一个版本就是HEAD^,当然往上 100 个版本写 100 个^比较容易数不过来,所以写成HEAD~100

使用reset命令进行版本回退

git reset --hard HEAD^
image.png

此时的版本为上一个版本的信息

这时得到的第二个版本的信息,此时如果想回到第三版怎么办呢,这时在刚才没关闭的窗口中,找到刚才git log的第三个版本的版本号,然后输入

git reset --hard 2ab95bc82af650eefa29af39cf2062a0f13fe34e
image.png

这时候就回到了第三个版本的文件

git版本回退进阶

如果关掉了当前窗口,找不到版本号了,那如何从第二版本进入第三版本呢,这时还必须找到第三个版本的commit id,通过使用命令git reflog来完成

image.png

找到第三个版本添加 GPL的commit Id 2ab95bc
然后

git reset --hard 2ab95bc
image.png

工作区 、 缓存区、 版本库 关系

image.png

每次git commit之前必须先git add,不然如果没有add,内容没有在缓冲区就不会被添加到版本库

丢弃工作区的修改

如果在工作区修改了文件,还没有git add,这时候并不需要这些修改,可以使用git checkout丢掉工作区的修改

git checkout -- testGit.txt

丢掉缓存区的修改

如果在工作区修改了文件,也提交到了缓存区,不过没有提交到版本库,可以使用git reset回退到刚才在缓存区的修改

git reset HEAD testGit.txt
image.png

此时,刚才提交到缓存区的内容就丢掉了,然后再使用上面的git checkout 命令丢掉工作区的修改就好了

git分支branch

git创建分支

$ git checkout -b dev
Switched to a new branch 'dev'

等价于

$ git branch dev
$ git checkout dev
Switched to branch 'dev'

查看当前分支

git branch

切换到其他分支

$ git checkout master
Switched to branch 'master'

合并分支

git merge dev
# 将 dev部分分支和master部分合并

删除分支

git branch -d dev

远程仓库

1、创建SSH Key

ssh-keygen -t rsa -C "729002360@qq.com"

产生id_rsa和id_rsa.pub这两个文件,分别是私钥、公钥

2、登陆 GitHub,打开 “Account settings”,“SSH Keys” 页面:

然后,点 “Add SSH Key”,填上任意 Title,在 Key 文本框里粘贴id_rsa.pub文件的内容:

github-addkey-1

点 “Add Key”,你就应该看到已经添加的 Key:

github-addkey-2

3、添加远程库
在github上找到 “Create a new repo” 按钮,创建一个新的仓库,在 Repository name 填入版本库的名字如learngit2,其他保持默认设置,点击 “Create repository” 按钮,就成功地创建了一个新的 Git 仓库

4、本地与github版本库关联
在本地的learngit2仓库下运行命令,这样就将本地的learngit2文件夹和github的版本库相关联了

git remote add origin git@github.com:minning/learngit2.git

其中 minning 是自己的名字
5、推送本地库到github
把本地库的所有内容推送到远程库上

git push -u origin master
image.png

把本地库的内容推送到远程,用git push命令,实际上是把当前分支master推送到远程。

由于远程库是空的,我们第一次推送master分支时,加上了-u参数,Git 不但会把本地的master分支内容推送的远程新的master分支,还会把本地的master分支和远程的master分支关联起来,在以后的推送或者拉取时就可以简化命令。

推送成功后,可以立刻在 GitHub 页面中看到远程库的内容已经和本地一模一样

以后进行推送,使用如下命令就可以了

git push origin master

5-2、题外:如果新建仓库repository TargetOffer时添加了README或者License,在本地执行git push -u origin master会报 error: failed to push some refs to ' 错误


image.png

此时应该执行下面的命令:

git remote set-url origin git@github.com:minning/TargetOffer.git
git remote add github git@github.com:minning/TargetOffer.git
git remote set-url origin git@github.com:minning/TargetOffer.git

从远程库克隆

从远程库将内容克隆回本地
1、在github上新建一个repository仓库,仓库名字为gitskill2,此时远程仓库就准备好了
2、在本地找到一个放代码的地方

git clone https://github.com/minning/gitskill2

其中minning是个人id,gitskill2是仓库名字,通过这一行命令就将远程的仓库clone到了本地

相关文章

  • git常用操作详细版

    最强参考:廖雪峰git教程https://www.liaoxuefeng.com/wiki/00137395163...

  • Git常用指令

    前言 本文主要为了记录常用的几个命令的详细操作主要详细记录以下几个命令 git merge git rebase ...

  • git常用操作

    git常用操作 git rebase git clone 取回远程的所有分支 返回某个文件的某个版本 跳转到某个版...

  • GitKraken使用教程

    转载自:超详细!Github团队协作教程(Gitkraken版使用Gitkraken进行其他Git操作下载地址:h...

  • 组件化(第一篇)

    组件化 git 常用操作指令 cocoapods的基本使用 cocoapods本地私有库 一、git 常用操作指令...

  • git的常用操作

    git的常用操作

  • git技术,GitHub、GitLab

    git学习 Git教程(小白快速入门版) Git教程(简化版) git详细学习 Gitlab的管理使用手册git初...

  • GIt 操作补充

    常用的git操作命令 常用的git操作命令已经能够满足日常的工作需求 现补充一些高级命令 git branch -...

  • git使用整理

    git使用常用操作-常用基本命令 克隆:git clone 【url】 查看修改状态: git status (g...

  • Git 常用命令

    Git更多详细介绍 查看git-book git教程 - 廖雪峰 Git 常用命令 总结 $ git init 通...

网友评论

      本文标题:git常用操作详细版

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