git的基本使用和问题
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的基本使用和问题的更多相关文章
- Git 子模块 - submodule
有种情况我们经常会遇到:某个工作中的项目需要包含并使用另一个项目. 也许是第三方库,或者你 独立开发的,用于多个父项目的库. 现在问题来了:你想要把它们当做两个独立的项目,同时又想在 一个项目中使用另 ...
- Git 在团队中的最佳实践--如何正确使用Git Flow
我们已经从SVN 切换到Git很多年了,现在几乎所有的项目都在使用Github管理, 本篇文章讲一下为什么使用Git, 以及如何在团队中正确使用. Git的优点 Git的优点很多,但是这里只列出我认为 ...
- Git与Repo入门
版本控制 版本控制是什么已不用在说了,就是记录我们对文件.目录或工程等的修改历史,方便查看更改历史,备份以便恢复以前的版本,多人协作... 一.原始版本控制 最原始的版本控制是纯手工的版本控制:修改文 ...
- Git Bash的一些命令和配置
查看git版本号: git --version 如果是第一次使用Git,你需要设置署名和邮箱: $ git config --global user.name "用户名" $ gi ...
- 在Ubuntu 16.10 安装 git 并上传代码至 git.oschina.net
1. 注册一个账号和创建项目 先在git.oschina.net上注册一个账号和新建一个project ,如project name 是"myTest". 2.安装git sudo ...
- 史上最详细git教程
题外话 虽然这个标题很惊悚,不过还是把你骗进来了,哈哈-各位看官不要着急,耐心往下看 Git是什么 Git是目前世界上最先进的分布式版本控制系统. SVN与Git的最主要的区别 SVN是集中式版本控制 ...
- [版本控制之道] Git 常用的命令总结(欢迎收藏备用)
坚持每天学习,坚持每天复习,技术永远学不完,自己永远要前进 总结日常开发生产中常用的Git版本控制命令 ------------------------------main-------------- ...
- 【解决方案】Myeclipse 10 安装 GIT 插件 集成 步骤 图解
工程开发中,往往要使用到集成GIT ,那么下面说说插件安装步骤 PS:以Myeclipse 10 为例,讲解集成安装步骤. ----------------------main------------ ...
- git 命令
切换仓库地址: git remote set-url origin xxx.git切换分支:git checkout name撤销修改:git checkout -- file删除文件:git rm ...
- git亲测命令
一.Git新建本地分支与远程分支关联问题 git checkout -b branch_name origin/branch_name 或者 git branch --set-upstream bra ...
随机推荐
- EOS源码
[EOS源码] 1.在 libraries/chain/include/eosio/chain/ 目录下. permission_level 定义如下: account_name.permissi ...
- Quartz与Spring集成(二)
一.获取quartz详情jar <!-- quartz 的jar --> <dependency> <groupId>org.quartz-scheduler< ...
- rsync镜像命令
rsync -e 'ssh -p 19809' -av wwwroot root@3.3.3.3:/home/download/ 参数详解 编辑 -v, --verbose 详细模式输出 -q, -- ...
- Flipping an Image
Given a binary matrix A, we want to flip the image horizontally, then invert it, and return the resu ...
- Ubuntu---添加输入法
摘要:Ubuntu 在刚刚安装好之后,默认是不支持直接输入中文的,所以我们需要安装支持中文的输入法.网络上面一般推荐使用的输入法是 Fcitx(小企鹅输入法),我们今天就来安装和配置它. step1: ...
- WebService关于Unable to find required classes (javax.activation.DataHandler and javax.mail.internet.MimeMultipart)问题解决
错误原因:需要mail.jar和activation.jar. Solution:Web Services Required Jars Download Instructions http://www ...
- Cannot attach medium 'D:\program\VirtualBox\VBoxGuestAdditions.iso' {}: medium is already associated with the current state of machine uuid {}返回 代码: VBOX_E_OBJECT_IN_USE (0x80BB000C)
详细的错误信息如下: Cannot attach medium 'D:\program\VirtualBox\VBoxGuestAdditions.iso' {83b35b10-8fa2-4b81-8 ...
- nginx 添加response响应头
硬添
- Jenkins+Gradle+Docker打docker镜像包上传至s3
gradle打包跟maven打包的环境搭建有相似之处,可参考maven打包https://www.cnblogs.com/chenchen-tester/p/6408815.html 进入Jenkin ...
- express基础项目创建
https://www.cnblogs.com/zhentaoo/p/6392248.html