git 常用命令使用

 

这里记录一下git平时的常用操作,本文基于安装了git,且有github账号的前提。

一、将本地项目(不是git项目)提交到git上

1.1、采用git clone

先在git上建立一个project,然后本地使用git clone <项目链接地址>  克隆到本地,然后将需要上传到git上的项目全部复制到该文件下,然后采用以下三个命令

git clone 还有一个-b参数 这个参数后面接着分支名称,可直接拉取指定分支代码,不用本地再使用git checkout 《分支名称》来切换分支

1 git add <文件> // 也可以使用路径,如git add ./  代表将当前路径下的所有文件都加入到暂存区
2 git commit -m '提交说明文字'   // 执行完后,暂存区的代码会到本地仓库里去
3 git push    // 执行完后,本地仓库的代码会到远程仓库里

 这种方法比较简单

1.2、采用git init

在本地项目中使用git init命令,然后同样采用 

git add ./

git commit -m '文字说明'

之后在git上创建一个空的git项目文件夹,然后采用

git remote add origin <git项目链接地址>

git push -u origin master

即可

 创建一个空的git项目

 

如果没在git上创建,则会出现以下情况

当创建后,

此时项目已经到了github上去了。

在这里提个小坑,如果你在github上创建项目的时候勾选了

 

那么你在push的时候会出现下面一个问题

这是因为,你在github上创建的时候,新建一个readme文件,在我们平时要push项目到git上,都会先git pull一下,在这里也是一样

先使用 git pull --rebase origin master,从git上拉取文件,然后再push,

在这里 git push -u 中的-u参数就是创建远程分支的一个意思

 二、合并分支代码

先切换到指定分支,如你要将dev分支代码合并到prd分支,则你只需(记住,最好先git pull,和git status,防止远程有修改和本地有修改情况)

git checkout prd

git merge dev

//  到了这里最重要的是要先检查有没有冲突,有冲突的话,先找到冲突文件,手动解决冲突,解决完后

git add 《文件》或者 转到 最外层目录 采用git add ./

git commit -m '提交说明文字'

git push

如果没有冲突文件,可以直接跳过 git add 和 git commit两个操作

三、版本回退

采用 git log查看提交历史

 

然后要回退到哪个分支,就复制红框中的字符串,假如这里要回退到第二个红框的所在分支,

git reset --hard <commit id> //r如果回退到 上一个分支 也可以用 git reset --hard HEAD^

git push -f origin master

然后就回退了

四、本地创建新的分支 

如 git checkout -b <分支名称>

然后 git push origin <分支名称>

 五、放弃本地修改

关于这种情况有三类,一个是本地修改没加入暂存区,第二个是已经修改加入了暂存区,第三个是修改加入了本地仓库

5.1、本地修改没加入暂存区,即没使用 git add命令

采用 git checkout -- fileName 值得注意的是这个文件一定是在git上存在的,对于新增的文件,这个命令没用,不过对于新增的可以直接删除。

如果要退回所有文件修改,则可以 git checkout .  命令,注意后面有一个点。

5.2、本地修改已加入暂存区,即使用了 git add命令,但还没使用 git commit

  采用 git reset HEAD fileName  其中fileName为加入到了暂存区的文件,对于新增的也适用,执行完后,修改的内容,并没有立即消失,而是回到了5.1的状态

然后再按照5.1的操作再执行一遍即可,如果要放弃所有修改,则可以使用 git reset HEAD .  命令,注意这里有一个点。

5.3、本地修改已加入了本地仓库

其实这种情况就是类似于版本回退,唯一不同的时候,执行完相应命令不用push

git reset --hard <commit id> //r如果回退到 上一个分支 也可以用 git reset --hard HEAD^

-------------------------------------------------------------------------------------------------------------分界线------------------------------------------------------------------

以上就是全部内容,若有错误或不足之处,还望指正,谢谢!

posted @ 2019-05-01 13:22  不懂是非  阅读(260)  评论(0编辑  收藏  举报