git 简单使用 git基本操作 git常见命令 git基础 git分支 git与远程分支建立链接 git常见问题

Git使用

玩转git请大家参考以下资料http://zixueit.cn/  搜索 玩转git三剑客资料中有详细讲解

一、git创建版本库

首次git创建版本库非常的简单使用命令

Mkdir  filename(创建文件夹  名字可以自定义)

然后打开这个文件夹

Cd  filename

执行命令

Pwd 命令pwd则可以显示创建的文件夹的具体位置

然后使用git命令将创建的文件夹变为可以通过git管理的仓库

Git init

创建好git仓库后会在文件夹中新增文件.git的目录这个.gitgit用来跟踪和管理版本库的注意:不要手动的修改这个文件否则的话会使整个git仓库瘫痪,有些时候.git是默认隐藏的这个时候使用命令

Ls  -ah 则可以显示.git文件

二、将文件上传到git仓库(三步走战略)

1>使用命令 git  add 文件名

2>使用命令 git commit -m 描述

Git commit 命令是通过命令告诉git 将文件上传到仓库这个时候上传的仓库是本地的也就是我们刚刚在本地创建的文件夹

-m 后面则是对本次操作的描述

三、查看文件的状态

Git  status 命令可以查看仓库的当前状态

查看文件的更改信息使用命令

Git  diff  filename

四、git版本回退

在我们的工作当中会有很多次修改,提交这时候就会存在文件错乱的问题那么git很好的解决了这个问题的方式使用命令

Git log 显示最近到最远提交的日志一般显示最近3次的提交日志

最近一次是append GPL 上一次是 add distributed 最远一次 wrote a readme file

这样的信息会显得很杂乱这时候使用添加命令

--pretty=oneline 整体命令是git log --pretty=oneline

git中用head表示当前版本上一个版本用head^表示

当我们需要回退很多版本的时候需要些很多个^这时候就很麻烦所以我们使用命令

HEAD~100这样就可以回退100个版本

我们需要在当前版本回退到上一版本这时候就可以使用命令

Git reset --hard HEAD^

回退之后呢我们可以使用cat 文件名 这样的话就可以查看版本信息

五、创建和合并分支

创建并且切换分支使用命令

Git checkout -b 分支名

查看当前分支使用命令

Git branch

这样会显示所有的分支但是在当前分支前面会有*标示

这样我们以后的开发就可以在分支上进行这样就能保证主分支master上面的项目不会受到影响,而我们自己进行开发的项目也能更好地进行代码的合并,在分支上进行开发后我们需要进行代码的整合这时候按照正常的提交进行即可

因为上面已经执行了创建并且切换分支那么我们在分支上直接进行提交试用命令

Git add

然后使用

Git commit -m ‘本次提交的说明’

然后会看到如下的效果

 

上面的截图说明了本次提交的信息

在分支上进行提交之后我们主分支master上面并没有本次代码的任何更改所以这个时候我们应该进行切换到主分支 master使用命令

Git checkout master

切换分支之后那么我们应该进行的是分支的合并因为我们需要将刚刚在分支上面执行的代码操作合并到主分支的上面所以使用命令

Git merge 分支名

Git merge 命令用于合并指定分支到当前分支

执行命令后会见到如下的效果

 

其中Fast-forward 表示的是快捷合并

合并之后如果该分支确定没有用后可以直接删掉使用命令

Git branch -d 分支名

当然合并分支并不是一帆风顺的当然会存在冲突,那我们应该怎么办呢,当然是解决冲突,有问题要解决问题,没有问题创造问题也要解决问题下面是合并分支时候出现的问题

 

Git冲突后会告诉我们冲突的位置

 

标示出来的既是冲突的位置,观察发现即使代码重复的位置

在使用分支的时候如果使用Fast-forward这种强制合并的方式,会因为删除分支而丢失合并的信息,这个时候我们使用的是另一种合并的分支的方式

 

 在使用git的过程中可能会存在从远程版本库中进行pull的时候本地更改过的代码会被覆盖这个时候就比较蛋疼了所以

我们使用git stash将我们本地的修改的内容进行保存

这样本地的所有修改就都被暂时存储起来 。是用git stash list可以看到保存的信息:

git stash暂存修改

其中stash@{0}就是刚才保存的标记。

接下来我们就可以使用 git pull 使用 git pull 后就会更新远程仓库的代码,但是这时候可能会存在本地代码的覆盖问题所以我们这时候就应该将刚刚保存的修改释放出来所以使用命令

git stash pop stash@{0}

系统提示如下类似的信息:
Auto-merging c/environ.c
CONFLICT (content): Merge conflict in c/environ.c

意思就是系统自动合并修改的内容,但是其中有冲突,需要解决其中的冲突

原文地址:https://www.cnblogs.com/mzli/p/6671260.html