1,填写信息
git config --global user.name "用户名"
git config --global user.email "邮箱"

2,创建仓库
git init 初始化仓库(会生成一个.git目录)
mkdir xxx 创建仓库目录
cd 切换目录
pwd 当前位置

3,添加文件到版本库
touch xxx 创建文件
vi xxx 打开文件
git add xxx 将指定文件添加但暂存区
git add. 将当前目录下所有文件添加到暂存区
git commit -m '描述' 将暂存区保存到版本库
git commit -a -m '描述' 直接提交到版本库

4,修改文件查看文件和不同
git status 查看当前仓库的状态
git diff 查看此次的修改和上次的不同

5,版本回退
git log 查看之前的日志 git log --pretty=oneline 整理一下
git reset -hard HEAD^ 回退到上一个版本
git reset -hard HEAD^^ 回退到上上个版本
git reset -hard HEAD~100 回退到往上100个版本

6,回退到未来某个版本
git reflog 记录每一次命令
git reset -hard commit id 回退到历史修改版本

7,撤销修改
git checkout -- xxx 撤销工作区修改
git reset HEAD file 撤销暂存区的修改,重放回工作区
对已经提交到版本库的文件直接版本回退

8,删除文件
git rm xxx 从版本库删除文件 也要提交 git commit -m '描述'

9,远程仓库(GitHub)
git remote add origin http://github.com/账号名/仓库名.git origin 是远程库的名字,github的默认叫法
git push -u origin 分支名 把本地仓库的内容推送到github仓库
git push origin master 上面命令第一次推送之后,以后的每次本地提交,使用不带 -u 参数的命令即可
git clone git remote add origin http://github.com/账号名/仓库名.git 克隆仓库

10,分支管理
git checkout -b 分支名 创建并切换分支
git branch 分支名 创建分支
git branch 查看所有分支 当前分支会有*号
git checkout 分支名 切换分支
git merge 要合并的分支名(不是当前) 合并分支
git branch -d 分支名 删除分支

11,解决冲突
问题:分支1修改文件提交后,分支2没有合并分支1修改的文件,也修改并提交了,之后在合并就会有冲突
查看:合并时会报,git status会告诉我们冲突的文件
解决:修改文件手动解决,Git用<<<<<<<,=======,>>>>>>>标记出不同分支的内容,修改后保存
git log --graph 查看分支合并图

12,bug分支
问题:修复bug时,会通过创建新的bug分支进行修复,然后合并,最后删除,当马上需要解决bug分支上的bug'时,而当前的分支还没有完成,无法提交
解决:git stash 将当前的工作现场隐藏起来,以后恢复继续工作
git stash 查看隐藏
git stash pop 恢复现场

13,feature
开发一个新实验性功能,最好新建一个feature分支,防止主分支被打乱;
如果要丢弃一个没有被合并过的分支,可以通过git branch -D <name>强行删除。

git的基本使用和问题的更多相关文章

  1. Git 子模块 - submodule

    有种情况我们经常会遇到:某个工作中的项目需要包含并使用另一个项目. 也许是第三方库,或者你 独立开发的,用于多个父项目的库. 现在问题来了:你想要把它们当做两个独立的项目,同时又想在 一个项目中使用另 ...

  2. Git 在团队中的最佳实践--如何正确使用Git Flow

    我们已经从SVN 切换到Git很多年了,现在几乎所有的项目都在使用Github管理, 本篇文章讲一下为什么使用Git, 以及如何在团队中正确使用. Git的优点 Git的优点很多,但是这里只列出我认为 ...

  3. Git与Repo入门

    版本控制 版本控制是什么已不用在说了,就是记录我们对文件.目录或工程等的修改历史,方便查看更改历史,备份以便恢复以前的版本,多人协作... 一.原始版本控制 最原始的版本控制是纯手工的版本控制:修改文 ...

  4. Git Bash的一些命令和配置

    查看git版本号: git --version 如果是第一次使用Git,你需要设置署名和邮箱: $ git config --global user.name "用户名" $ gi ...

  5. 在Ubuntu 16.10 安装 git 并上传代码至 git.oschina.net

    1. 注册一个账号和创建项目 先在git.oschina.net上注册一个账号和新建一个project ,如project name 是"myTest". 2.安装git sudo ...

  6. 史上最详细git教程

    题外话 虽然这个标题很惊悚,不过还是把你骗进来了,哈哈-各位看官不要着急,耐心往下看 Git是什么 Git是目前世界上最先进的分布式版本控制系统. SVN与Git的最主要的区别 SVN是集中式版本控制 ...

  7. [版本控制之道] Git 常用的命令总结(欢迎收藏备用)

    坚持每天学习,坚持每天复习,技术永远学不完,自己永远要前进 总结日常开发生产中常用的Git版本控制命令 ------------------------------main-------------- ...

  8. 【解决方案】Myeclipse 10 安装 GIT 插件 集成 步骤 图解

    工程开发中,往往要使用到集成GIT ,那么下面说说插件安装步骤 PS:以Myeclipse 10 为例,讲解集成安装步骤. ----------------------main------------ ...

  9. git 命令

    切换仓库地址: git remote set-url origin xxx.git切换分支:git checkout name撤销修改:git checkout -- file删除文件:git rm  ...

  10. git亲测命令

    一.Git新建本地分支与远程分支关联问题 git checkout -b branch_name origin/branch_name 或者 git branch --set-upstream bra ...

随机推荐

  1. Django继承AbstractUser新建UserInfor Model时出现fields.E304错误

    错误详情: SystemCheckError: System check identified some issues: ERRORS:app01.UserInfo.groups: (fields.E ...

  2. 新学python画一个爱心

    from turtle import * def curvemove(): for i in range(200): right(1) forward(1) color('yellow','red') ...

  3. 20175234 2018-2019-2 《Java程序设计》第六周学习总结

    20175234 2018-2019-2 <Java程序设计>第六周学习总结 教材学习内容总结 第七章内部类和异常类 总结 Java支持在一个类中声明另一个类,这样的类称作内部类,而包含内 ...

  4. Jenkins+docker自动部署

    项目目录结构如下 对此项目,使用Jenkins构建dockers镜像 步骤如下: 1.安装Jenkins和docker,具体安装步骤,自行度娘把,在此不详述了. 2.Jenkins安装插件Gradle ...

  5. WCF 服务的集合管理器的设计

    今天是2019年2月1日,时间过得针对,马上就年底了,当前新年也离我们越来越近了.在此,我也祝福经常浏览我博客的朋友们“新年快乐.阖家欢乐”,来年有一个好彩头.在即将结束这一年之计,写今年的最后一片文 ...

  6. H5端密码控件自动化测试

    最近在做H5端UI自动化测试,其中遇到了一个棘手问题就是密码控件,因为密码控件的按钮每次都是随机不一样的,没法固定去点击输入密码.密码的输入框是div不是input,所以没法用send_keys()这 ...

  7. 安卓学习 Drawable对象

    whie(!images[currentImage].endWith(".PNG")&&!images[currentImage].endWith(".p ...

  8. Codeforces 1083C Max Mex

    Description 一棵\(N\)个节点的树, 每个节点上都有 互不相同的 \([0, ~N-1]\) 的数. 定义一条路径上的数的集合为 \(S\), 求一条路径使得 \(Mex(S)\) 最大 ...

  9. 在Jenkins上配置批处理删除远程共享目录7天以上的文件

    net use * /del /yes NET USE X: \\10.29.48.12\shares\Test password /user:DOMAIN1\account set AutoPath ...

  10. Mysql 数据库管理

    1. mysql用户和权限 mysql权限控制通过两步控制,第一是能不能连接(验证用户身份),第二是能执行什么操作(验证权限). 其中身份验证,需要验证连接mysql的计算机的IP地址或者计算机名称还 ...