功能一 提交:1:git init           # 初始化,表示即将对当前文件夹进行版本控制2:git status         # 查看Git当前状态,如:那些文件被修改过、那些文件还未提交到版本库等。3:git add .          # 添加当前目录下所有文件到版本库4:git commit -m "第一次提交"   # 提交到版本库,并填写版本说明,以便以后回滚   5:git log            # 查看版本库的日志功能二 版本回滚:1:git add              # 增加2:git commit -m "..."  # 增加到版本库3:git log              # 查看版本库的日志4:git reset --hard     # 切换到功能一1:git reflog           # 查看所有的版本库2:git reset --hard     # 切换到功能一突然有bug需要改
解决方案一 stash:1:git add             # 增加2:git commit -m "..." # 增加到版本库    3:git log             # 查看版本库的日志        # 继续开发,发现之前上线的代码需要修改,把现在的代码保存。1:git stash          # 现在开发的代码,保存# 完成功能一,增加到版本库,提交,继续开发之前的功能,发生冲突手动解决冲突1:git stash pop       # 将第一个记录从“某个地方”重新拿到工作区(可能有冲突,需手动解决)2:git add .           # 增加到版本库3:git commit -m "..." # 增加到版本库,提交stash 用法:git stash        # 将当前工作区所有修改过的内容存储到“某个地方”,将工作区还原到当前版本未修改过的状态git stash list   # 查看“某个地方”存储的所有记录git stash clear  # 清空“某个地方”git stash pop    # 将第一个记录从“某个地方”重新拿到工作区(可能有冲突)git stash apply  # 编号,将指定编号记录从“某个地方”重新拿到工作区(可能有冲突) git stash drop   # 编号 ,删除指定编号的记录  解决bag方法二:(分支)1:git branch dev    # 创建dev分支 2:git branch -d dev # 删除分支 3:git checkout dev  # 切换分支 4:git merge dev     # 分支合并
修复Bug流程:git branch dev      # 创建dev分支 git checkout dev    # 切换分支# 写代码git add .           # 增加到版本库git commit -m 'xxx' # 提交,不合并到master# 切换mastergit checkout master # 切换master git branch bug      # 创建bug分支 git chekcout bug    # 切换到bug分支# 修复bug git add .           # 增加到版本库git commit -m '紧急修复bug'  # 提交# 切换master分支git checkout master # 切换master git merge bug       # 合并分支# 删除bug分支git branch -d bug   # 删除bug分支 # 切换dev分支git checkout dev # 继续开发

git 全局配置

t config --global user.name "fenglepeng"
git config --global user.email "fenglepeng@163.com"

克隆一个新的仓库

git clone https://github.com/flepeng/flepeng.github.io.git
cd flepeng.github.io
touch README.md
git add README.md
git commit -m "add README"
git push -u origin master
Username for 'https://github.com':                          # 输入GitHub用户名
Password for 'https://flp@github.com':                      # 输入GitHub密码

将一个本地文件夹推送到仓库

cd existing_folder
git init
git remote add origin https://github.com/flepeng/flepeng.github.io.git
git add .
git commit -m "Initial commit"
git push -u origin master

将一个本地仓库重命名之后推送到新的仓库

cd existing_repo
git remote rename origin old-origin
git remote add origin https://github.com/flepeng/flepeng.github.io.git
git push -u origin --all
git push -u origin --tags

另一种拉取策略

另一种拉取策略:git init  git remote add origin https://github.com/flp/test.gitgit fetch origin master git merge origin/master 提交远程代码git pull origin master git fetch origin master 

强行push

# 如果本地和远程的库属于两个库,而你强行管理上之后,这时你无论 push 和 pull 都会报错
# ‘fatal: refusing to merge unrelated histories’此时需要
git pull origin master --allow-unrelated-histories
# 此时,两个库的文件会并存,之后就可以处理了,或者你可以使用
$ git push -u origin master -f
# 强制提交,但是会丢失远程的代码,慎用

分支(branch)操作相关命令

$ git branch              # 查看本地分支
$ git branch -r           # 查看远程分支
$ git branch [name]       # 创建本地分支,注意新分支创建后不会自动切换为当前分支
$ git checkout [name]     # 切换分支
$ git checkout -b [name]  # 创建新分支并立即切换到新分支
$ git branch -d [name]    # 删除分支,-d选项只能删除已经参与了合并的分支,对于未有合并的分支是无法删除的。如果想强制删除一个分支,可以使用-D选项
$ git merge [name]        # 合并分支,将名称为[name]的分支与当前分支合并
$ git push origin [name]  # 创建远程分支(本地分支push到远程)
$ git push origin :heads/[name] 或 $ git push origin :[name]  # 删除远程分支$ git push -u origin dev  # 加了参数-u后,以后即可直接用git push 代替git push origin master
$ git push origin         # 将当前分支推送到origin主机的对应分支。
$ git push                # 如果当前分支只有一个追踪分支,那么主机名都可以省略。 

远程提交,不用输入用户名密码

# 第一步, --global 为所有的git 都设置使用下次输入的账号密码,不推荐使用此参数
git config --global credential.helper store# 第二步,执行这步会让你输入用户名密码,后面再执行这条命令就都不用在输入了
git pull

原理:会在 用户根目录下产生如下两个文件,.gitconfig (记录用户名信息)和 .git-credentials(用户名密码) 用以记录当前操作用户,文件内容就是公钥信息。

问题解析

error: failed to push some refs to 'https://github.com/xxxx.git'

问题展示:

解决办法:

1: 进行push前先将远程仓库pull到本地仓库
$ git pull origin master    #git pull --rebase origin master
$ git push -u origin master2: 强制push本地仓库到远程 (这种情况不会进行merge, 强制push后远程文件可能会丢失 不建议使用此方法)
$ git push -u origin master -f3: 避开解决冲突, 将本地文件暂时提交到远程新建的分支中
$ git branch [name]
# 创建完branch后, 再进行push
$ git push -u origin [name]

error: src refspec master does not match any

问题解析:

引起该错误的原因是,目录中没有文件,空目录是不能提交上去的

解决方法

git add README
git commit -m 'first commit'
git push origin master

GIT刷新忽略文件.gitignore

# 1、重置所有缓存(注意后面有个.)
git rm -r --cached .# 2、重新添加(注意后面有个.)
git add .# 3、提交
git commit -m ".gitignore is now working"

git 命令详解和常见问题解决相关推荐

  1. c#listbox使用详解和常见问题解决

    c#listbox使用详解和常见问题解决 参考文章: (1)c#listbox使用详解和常见问题解决 (2)https://www.cnblogs.com/whuanle/p/8622830.html ...

  2. GitHub使用教程详解(下)——Git的安装以及Git命令详解

    上一篇GitHub使用教程详解(上)--官网操作指南[翻译],是针对官网的guide进行了翻译,其实个人来说,我是很不喜欢那么操作的,又要等待页面加载,操作又慢!程序员嘛,还是直接敲入命令代码更迅速高 ...

  3. git命令详解( 四 )

    此篇为git命令详解的第四篇,话不多说,我们直接上知识点好吧 git Push 偏离的工作 gitPush: 此命令负责将你的变更上传到指定的远程仓库,并在远程仓库上合并你的新提交记录.一旦 git ...

  4. java开发中常用的Git命令详解

    java开发中常用的Git命令详解(IDEA内如何操作) 一:写这篇文章的目的是什么? 二:使用场景在哪里? 1:当我们要使用idea去git仓库拉代码时,首先我们的idea得配置git工具 2:项目 ...

  5. git 命令详解_再次学习Git版本控制工具

    微信公众号:PHP在线 Git 究竟是怎样的一个系统呢?为什么在SVN作为版本控制工具已经非常流行的时候,还有Git这样一个版本控制工具呢?Git和SVN的区别在哪儿呢?Git优势又在哪呢?下面PHP ...

  6. Git命令详解及工作实用流程

    Git基本使用 1.什么是Git 1.1 Git简介 1.2Git的优点 2.Git和SVN的区别 3.Git常用命令 3.1 设置用户签名 3.2 初始化本地库 3.3 查看本地库状态 3.3.1首 ...

  7. 【Git版本控制】Git命令详解

    文章目录 前言 1.展示帮助信息 2.回到远程仓库的状态 3.重设第一个 commit 4.查看冲突文件列表 5.展示工作区和暂存区的不同 6.展示暂存区和最近版本的不同 7.展示暂存区.工作区和最近 ...

  8. git命令详解( 八)

    此为记录git的第八篇,前七篇为远程篇,工作中最常用的都在前七篇,因为要在远程分支上合作开发     在提交树上移动 撤销变更 在提交树上移动 在接触 Git 更高级功能之前,我们有必要先学习在你项目 ...

  9. git 命令详解和Android Studio代码管理工具

    目录 前言 git命令上传项目 一.核心操作 二.解决冲突 三.情景举例 四.查看ssh密钥 五.克隆远程项目 六.回退某个操作 七.和远程分支建立关联 八.删除文件 九.远程仓储 十.多人协作 十一 ...

最新文章

  1. 练习angularjs的ng-click的应用
  2. Spring5 版本新特性简述
  3. why process type for MyOpportunity creation is empty
  4. UVA 297 Quadtrees
  5. JAVA调用shell脚本利用ansible修改多节点上的redis参数
  6. 轻松解决加密的PDF如何编辑简单技巧
  7. 【转载】数据库操作系统——Visual FoxPro 6.0安装步骤
  8. QQ空间自动点赞脚本1
  9. 一篇适合小白的Shiro教程
  10. 浪潮nf5280m5默认ipmi_NF5180M5- IPMI设置
  11. Python中面向对象(类,对象,魔法,打印)
  12. 百度搜索推广账户搭建思路
  13. js实现图片的随机抽奖
  14. 适用于Android手机的汉信码识别SDK
  15. GoogleAdMob广告 SDK接入(Android)
  16. 【CCNA | 网络模拟器CPT系列】Cisco Packet Tracer 8.2.0 的安装 Ⅰ
  17. 人工神经网络的基础数学模型来自哪里
  18. 前端生成二维码 微信小程序
  19. 空间实景三维激光点云数据处理服务来了!
  20. 初识二维码 第二十讲 二维码解码程序的组件之一 摄像头拍照功能

热门文章

  1. JSch - Java Secure Channel : java 代码实现服务器远程操作
  2. JDK下载地址、SecureCRT中JDK安装和环境配置、SecureCRT窗口编程、linux下命令运行小程序
  3. ssm(springMVC + spring+MyBatis) 小例
  4. 机器学习:算法模型:决策树
  5. Windows 运行... 可执行的命令
  6. Apache版本兼容性问题
  7. 【亲测有效】Kali Linux无法安装网易云音乐的解决方案
  8. 使用模板引擎artTemplate的几个问题总结
  9. 机器学习自主解决安全威胁离我们还有多远?
  10. iPad开发--QQ空间,处理横竖屏布局,实现子控件中的代理