https://git-scm.com/book/zh/v1/Git-%E5%9F%BA%E7%A1%80-%E8%BF%9C%E7%A8%8B%E4%BB%93%E5%BA%93%E7%9A%84%E4%BD%BF%E7%94%A8

简易的命令行入门教程:

Git 全局设置:

git config --global user.name "coder-lzh"
git config --global user.email "657083979@qq.com"

创建 git 仓库:

mkdir vue-shop
cd vue-shop
git init
touch README.md
git add README.md
git commit -m "first commit"
git remote add origin git@gitee.com:lzh1995/vue-shop.git
git push -u origin master

已有仓库?

cd existing_git_repo
git remote add origin git@gitee.com:lzh1995/vue-shop.git
git push -u origin master

git push -u origin master   这个时候-u选项会指定一个默认主机,这样后面就可以不加任何参数使用git push

上面命令将本地的master分支推送到origin主机,同时指定origin为默认主机,后面就可以不加任何参数使用git push了。

git 切换远程仓库地址

方式一:修改远程仓库地址

【git remote set-url origin URL】 更换远程仓库地址,URL为新地址。

方式二:先删除远程仓库地址,然后再添加

【git remote rm origin】 删除现有远程仓库
【git remote add origin url】添加新远程仓库

git remote -v   查看远程仓库的地址

git操作项目的大致步骤。

git init    //初始化一个本地仓库。

git add .  //添加文件

git commit -m '提交内容'  //提交到本地仓库

git status  //查看状态  变红是说明文件还没有add   变绿说明文件已经add 但是还没有commit   提交完之后就会显示没有文件可以提交了

git pull url  master //拉取远程仓库的代码到master主分区   不写master则默认推送到master

git push url  master //推送本地的代码到远程仓库主分区  

设置远程origin地址

git remote -v 查看远程origin 

git remote rm origin 删除远程origin 

git remote add origin xx.git //添加git地址

将本地的项目第一次提交到github

git remote add origin 远程仓库地址

git pull origin master --allow-unrelated-histories   后面加上 --allow-unrelated-histories , 把两段不相干的 分支进行强行合并

git push origin master

添加变化

git add . //提交所有新增文件和变化文件,不包括被删除文件

git add * //功能同上

git add -u //提交被修改和被删除文件,不包括新文件

git add -A //提交所有变化

git add a.txt //提交a.txt

//git add命令可以提交多次,在git commit之前,告诉git,把文件添加到仓库暂存区

分支

git branch dev    //创建dev分支

git checkout dev  //切换到dev分支

git checkout -b dev      //-b参数表示创建并切换相当于 git branch dev 再   git checkout dev

git branch  //显示所有分支,当前分支前有 * 号

git merge dev //合并dev到主干(快进模式:直接将master分支指向dev的提交)

git branch  -d dev //删除分支  -D 强制删除

git clone -b dev 代码仓库地址 (dev是远程分支名称)    -- 直接将远程的分支拉去下来,而不用再拉去master 然后再切换远程分支

  //使用下面两条命令来删除远程分支(任意一种就可以)
  1. git branch -r -d origin/branch-name
  2. git push origin :branch-name          //branch-name是远程分支名

本地的dev分支推送到远程的分支上。

git push origin dev:dev  //意思是将本地的dev分支推送到远程的dev分支上。如果没有远程的dev,就创建,者仅仅是第一次建立关系。一旦建立好之后,本地的再次推送就 git push origin dev 就ok了。

注意  还需要绑定一下远程地址的分支,如果不关联,你Git push 的时候  会提示你

$ git push
fatal: The current branch dev has no upstream branch.
To push the current branch and set the remote as upstream, use

git push --set-upstream origin dev

把本地的新分支,和远程的新分支关联

git push --set-upstream origin newbranch     (!!!!!!newbranch 是远程分支的名字)

git branch -vv   -- 查看远程分支的对应本地分支的关系

git push origin dev:master //意思是把本地的dev推送到远程的master分支。


拉取远程分支并创建本地分支

git checkout -b dev origin/dev,作用是checkout远程的dev分支,在本地起名为dev分支,并切换到本地的dev分支

git fetch     //一般在远程新建一个分支的话,你直接查看是看不到的,要先执行这个命令,然后才能看到。

git branch -a     // 查看所有的分支

git branch -r    //查看远程分支

如何将分支指定的文件提交

场景:比如说dev分支,你想将dev分支上面的1.txt 文件合并到master分支上面。

切换到master分支

git checkout dev ./src/java2/1.txt    //后面是相对路径

注意:这种会把合并的文件强制覆盖!!!!不推荐!!!!

如何指定将分支的commit合并

git log 查看commit提交得到 68dd8e579c65050be6238360ee1efee454a0e3d0 这类的数据

git cherry-pick 68dd8e579c65050be6238360ee1efee454a0e3d0    意思是合并这个分支

pull的时候出现  refusing to merge unrelated histories  错误

git pull origin master --allow-unrelated-histories

 

查看日志

git log //显示每一次提交的信息:作者、日期、hash、commit信息

git log --pretty=oneline //单行显示提交信息:hash、commit信息

git reflog //提交信息:hash、commit信息

版本控制


git reset --hard HEAD^ //仓库文件回退到上一commit版本

git reset --hard 35f69c //版本回滚到hash值35f69c开头的commit版本   特别注意:这个会让你本地的文件消失!!!!!!!!!!!!

第二种方法
git reflog --查看所有提交的信息
然后 git reset HEAD~2 --说明是退回到上面记录的2的版本 ,这个退回 你本地的文件不会消失 你只需要重新add就行。推荐这个!!!!!!!!!!1
推荐博客 :https://www.cnblogs.com/flowwind/p/4222247.html

 ======修改了文件,执行了add操作 但是没有执行commit操作
git reset HEAD a.txt //把暂存区中a.txt的修改撤销掉,放回工作区

 =======修改了文件,但是还么有执行add操作
git checkout fileName //把修改的文件还原到修改之前

查看本地文件做了哪些修改

git diff 文件名 

按 q 退出 

删除已经提交到服务器上面的文件/文件夹

 比如要删除   mvnw.cmd文件   .mvn/  文件夹

 git rm -r --cached .mvn/  mvnw.cmd 

 git commit -m'del mvnw'
git push -u origin master

如何解决failed to push some refs to git

可以通过如下命令进行代码合并【注:pull=fetch+merge]

git pull --rebase origin master

此时再执行语句 git push  origin master即可完成代码上传到github

解决错误  remote: Incorrect username or password ( access token )

解决办法:清除本地的gitee用户名和密码

git config --system --unset credential.helper

再执行推送,重新输入用户名和密码。

每次提交都需要填写密码这个问题

如果我们git clone的下载代码的时候是连接的https://而不是git@git (ssh)的形式,当我们操作git pull/push到远程的时候,总是提示我们输入账号和密码才能操作成功,频繁的输入账号和密码会很麻烦。

解决办法:

git bash进入你的项目目录,输入:

git config --global credential.helper store

然后你会在你本地生成一个文本,上边记录你的账号和密码。当然这些你可以不用关心。

然后你使用上述的命令配置好之后,再操作一次git pull,然后它会提示你输入账号密码,这一次之后就不需要再次输入密码了

git的基本操作---就看我这一篇就足够了!!!!!的更多相关文章

  1. Git GUI基本操作

    一.Git GUI基本操作 1.版本库初始化 gitpractise文件夹就变成了Git可以管理的仓库,目录下多了一个.git文件夹,此目录是Git用于管理版本库的,不要擅自改动里面的文件,这样会破坏 ...

  2. 【转】Git GUI基本操作

    一.Git GUI基本操作 1.版本库初始化 gitpractise文件夹就变成了Git可以管理的仓库,目录下多了一个.git文件夹,此目录是Git用于管理版本库的,不要擅自改动里面的文件,这样会破坏 ...

  3. 深度剖析HashMap的数据存储实现原理(看完必懂篇)

    深度剖析HashMap的数据存储实现原理(看完必懂篇) 具体的原理分析可以参考一下两篇文章,有透彻的分析! 参考资料: 1. https://www.jianshu.com/p/17177c12f84 ...

  4. 谈下git的基本操作

    在工作之后,我比较经常地接触git,关于git的用法,网上有很多的教程,而且git的指令是非常多的,强如阮一峰这样的高手也直言无法记住git的很多指令.实际上我也看了不少关于git指令的文章,个人觉得 ...

  5. Git&Github基本操作与分支管理

    Git的原理涉及快照流.链表.指针等,这里不作过多叙述. 1.基本操作 git init 创建一个 Git 仓库 git clone [url] 拷贝一个 Git 仓库到本地 git add [fil ...

  6. git(一) 基本操作

    git简介 产生历史 git是目前世界上最先进的分布式版本控制系统. 2005年,Linus花了两周时间自己用C写了一个分布式版本控制系统,这就是git. git的两个特点 版本控制:可以解决多人同时 ...

  7. Git/GitHub基本操作

    GitGit是分布式版本控制工具,SVN是集中式版本控制,有单点故障的问题GitHub是Git的代码托管中心,类似的国内有码云,是远程维护库Git的优势大部分操作在本地完成,不需要联网完整性有保证尽可 ...

  8. Git入门基本操作

    由David发表在天码营 Git简介 Git不仅仅是实际项目开发中进行代码管理的神器,也是你在天码营学习需要掌握的工具. Git是一种代码版本控制工具.我们在实际项目中和天码营的学习过程中都会产生大量 ...

  9. git客户端基本操作

    首先下载git 一路next安装好了之后,打开任意盘符,右键打开git bash here 首先:初始首次的用户名和邮箱,之后就不用了. git config --global user.name & ...

随机推荐

  1. 请求数据传入(SpringMVC)

    1.    请求处理方法签名 Spring MVC 通过分析处理方法的签名,HTTP请求信息绑定到处理方法的相应人参中. Spring MVC 对控制器处理方法签名的限制是很宽松的,几乎可以按喜欢的任 ...

  2. redis的优缺点

    优点: 1 读写性能优异 2 支持数据持久化,支持AOF和RDB两种持久化方式 3 支持主从复制,主机会自动将数据同步到从机,可以进行读写分离. 4 数据结构丰富:除了支持string类型的value ...

  3. [2017BUAA软工]第0次作业

    第0次作业 Part 1:结缘计算机 1. 你为什么选择计算机专业?你认为你的条件如何?和这些博主比呢? 我跟这篇博客中的作者相似的地方在于,我们都在一个比较早的阶段接触了计算机,我家乡的经济在全国来 ...

  4. [2017BUAA软工]第一次个人项目 数独的生成与求解

    零.Github链接 https://github.com/xxr5566833/sudo 一.PSP表格 PSP2.1 Personal Software Process Stages 预估耗时(分 ...

  5. 第八章Jdk代理 cglib代理

    什么是代理模式 代理(Proxy)是一种设计模式,提供了对目标对象另外的访问方式;即通过代理对象访问目标对象.这样做的好处是:可以在目标对象实现的基础上,增强额外的功能操作,即扩展目标对象的功能. 这 ...

  6. mybatis分页 -----PageHelper插件

    对查询结果进行分页 一,使用limit进行分页 1.mybatis 的sql语句: <if test="page !=null and rows !=null"> li ...

  7. Node 多页面请求

    //功能:创建web服务器接收客户请求// http://127.0.0.1:8080/index 准备// http://127.0.0.1:8080/news 准备// public/index. ...

  8. 【Java】 枚举类

    如果要定义一个枚举类: public enum Size { SAMLL, MEDIUM, LARGE, EXTRA, EXTRA_LARGE}; 实际上,这个声明定义的类型是一个类,它刚好有4个实例 ...

  9. c#异步编程(三)—ASP.NET MVC 异步控制器及EF异步操作

    ASP.NET MVC 异步控制器及EF异步操作 异步控制器 ASP.NET MVC2后开始了对异步请求管道的支持,异步请求管道的作用是允许web服务器处理长时间运行的请求,比如 那些花费大量时间等待 ...

  10. [资源]--完美解决--用VS中的Git做代码管理器,与他人共享代码

    1.创建代码仓库,这里说一下为什么要创建仓库,Git不能够作为源代码管理器,vs中自带的也只能够在本地进行管理,要和他们共享的话必须要有服务器端去存储代码,类似于SVN,它就有客户端和服务器端,这里推 ...