最近开始又捡起git,第一家公司用的就是git,一直掌握的也不深刻,就知道常用的几个命令,虽然现在用svn,但是觉得git还是不能丢,遂又捡起来了。先总结一部分目前练习用到的,慢慢填补吧~

github荒废太久了,偶尔也需要拔拔杂草什么的,而且最近学react,正好可以上传些demo。git都是新下的,而且以前用的是unix系统操作,现在用windows操作相当于重头再来了。

首先,git安装好了就打开cmd,输入git/git --version试一下。

接下来可以进行配置啦~(设置全局的用户名与email)

git config --global user.name "xxx"
git config --global user.email "xxx"
git config --global push.default simple

使用git需要进行推送,则最后一步一定要进行配置。git 2.0更改push.default为simple,意味着执行 git push 没有指定分支时,只有当前分支会被 push 到你使用 git pull 获取的代码。

我在github有新建一个库,所以直接进入本地存放git项目的目录,git init初始化下(以便git对该目录下文件进行版本控制),直接git clone xxx.git了(即把我github上的库克隆到本地,这个目录在github上的项目里可以看到~)

把想加的文件添加到文件夹里,执行git add 文件夹/

git add 主要用于把我们要提交文件的信息添加到暂存区中

git add <path> 把<path>添加到索引库(<path>可以是文件也可以是目录)

git add . 把工作时的所有变化提交到暂存区,包括内容修改(modified)和新文件(new),但不包括删除的文件

git add -u 仅监控已经add的文件(即tracked文件),他会将被修改的文件存到暂存区,但不会提交新文件(untracked)

git add -A 提交所有变化到暂存区

git status 可以时刻看见仓库状态,有什么文件被修改被删除等等。。。

但素,出问题了!!warning IF will be replaced by CRLF 查了下,windows中的换行符为 CRLF, 而在Linux下的换行符为LF,所以会出现提示。

解决办法:http://stackoverflow.com/questions/1967370/git-replacing-lf-with-crlf

即:(设置换行符转换)

git config core.autocrlf false

问题解决啦~可以正常add啦,下一步git commit(将暂存区的内容添加到本地仓库中)

git commit -m <message> 将添加到暂存区的内容,进行提交

git commit -a -m <message>  能提交修改过但没有放到暂存区的内容

我用的是git commit -m 'add react demo',but又粗错啦!! error:xxx did not match any file(s) known to git 说是不匹配呢

解决办法:据说windows下应该换成双引号,换了试下,果然好用,提交完成。

git push(将本地内容提交到远程),!! No configured push destination 原来是没有配置远程地址,好的,配吧(解决办法):

git remote add origin git@github.com:xiabiande/object.git 然后git push。。。你没猜错又遇到问题了,permission denied (publickey) 没有权限

遂查之~,(参考:http://blog.itpub.net/25851087/viewspace-1262468/)要生成密钥上传github并进行网络连通性测试  ssh-keygen -t rsa -C "xiabiande@xx.com" ,如果此时说该命令不是内部命令,就去 某盘/git/usr/bin/ 找到ssh-keygen.exe 并把该路径粘贴到配置环境变量的系统变量path的最后(别忘了前面加;)

再使用刚才的命令后,生成两个文件id_rsa(私钥)和id_rsa.pub(公钥),将id_rsa.pub的内容上传到github的ssh-keys管理中,最好用笔记本打开,如果上传时说你没有以ssh-开头什么的就说明,公钥的文件格式被你改变了,所以最好用笔记本打开{血与泪的教训,科科} 接下来,执行ssh -T git@github.com 进行本地与网站的连接测试。嘿~我成功的连上了,连上了~并且和我打了招呼:hi~xx!You've successfully authenticated, but GitHub does not provide shell access ,呵呵,没有提供权限,好吧

解决方法:git remote set-url origin git@github.com:xiabiande/object.git 重新加一下远程地址 (http://stackoverflow.com/questions/26953071/github-authentication-failed-github-does-not-provide-shell-access)

ok,这时候还是不可以push的,因为提示你,要先pull才可以,git pull origin master 将远程的主分支down下来,正常这句话还可以合并本地内容,但是 !!fatal:refusing to merge unrelated histories 说是拒绝合并不相关的历史,确实本地是新加的内容还重未和线上连接过。

解决办法:git pull origin master --allow-unrelated-histories 就是告诉系统我允许合并不相关历史的内容。

git push 系统提示 git push --set-upstream origin master  因为是第一次push,所以按它提示的来就好啦。

耶耶,终于可以push啦,我的小demo,我的天~hoho,我真是太棒了【此刻,想配一张陈意涵阳光灿烂的笑容脸】

其实只要有耐心,没什么解决不了的困难嘛~

/* 2017/01/10更 */

补充:windows用户请注意,windows用户请注意

  1. 如果你在操作commit时遇到pathspec XXX did not match any files commit这个问题,git commit后面的提交信息要用双引号啊!!(或者你可以调一下全局的core.autocrlf false)

git config --global core.autocrlf false

  2.如果你在add时遇到unable to stat ... Filename too long 这个问题时,windows真的挺坑的,windows的限制是不一样的啦,详情:http://stackoverflow.com/questions/22575662/filename-too-long-in-git-for-windows

git config --system core.longpaths true

github踩坑之git命令收集与整理(windows)的更多相关文章

  1. git命令收集(记得持续更新)

    这里收集了一些常用的git命令: git remote add origin git@192.168.1.128:sabo/ycdd-server.git git push -u origin mas ...

  2. Git命令的简单整理大全

    创建目录和查看路径 mkdir 创建目录  cd    进入到目录里面pwd   用于显示当前的目录cat   查看文件内容 Git命令使用说明 初始化一个目录成git的仓库(版本库)包括暂存区和ma ...

  3. git命令收集整理

    git init # 初始化本地git仓库(创建新仓库) git config --global user.name "xxx" # 配置用户名 git config --glob ...

  4. Git 命令收集

    目录 1.清理恢复 2.回滚,reset与revert的区别 3.merge,rebase,cherry-pick区别 4.删除不存在对应远程分支的本地分支 5.git pull,git push 报 ...

  5. Git命令收集【不断更新中】

    git stash 可以用来保存暂时不想提交但又被修改过的文件. git stash pop 用来取出被保存在stash栈中的修改过的所有文件. git stash show 查询哪些文件被存放在了s ...

  6. git命令收集

    $ git clone ... $ git status 查看状态 $ git commit -am "XXX" 提交信息 $ git commit -am "XXXX& ...

  7. github网站介绍、并使用git命令管理github(详细描述)

    本章学习: 1)熟悉github网站 2)通过git命令远程管理github, 3)git命令使用ssh key密钥无需输入账号密码 1.首先我们来熟悉github网站 1.1 注册github 登录 ...

  8. 我总结的git命令指南。

    git命令行指南 1.windows上安装git的网址:http://msysgit.github.com/. 没有安装过git的 这个网址里下mymsgit. 因为发现有些同学对git还不是那么熟悉 ...

  9. 一条 Git 命令减少了一般存储空间,我的服务器在偷着笑

    元旦不是搭建了一个<Java 程序员进阶之路>的网站嘛,其中用到了 Git 来作为云服务器和 GitHub 远程仓库之间的同步工具. 作为开发者,相信大家都知道 Git 的重要性.Git ...

随机推荐

  1. python tips:类与实例的属性问题

    实例是具象化的类,它可以作为类访问所有静态绑定到类上的属性,包括类变量与方法,也可以作为实例访问动态绑定到实例上的属性. 实例1: class A: work = list("hello&q ...

  2. node——获取路由中的参数

    var express=require('express'); var app=express(); app.get('/',function(req,res){ res.send('Index'); ...

  3. Linux Shell脚本编程-语句控制

    过程式编程语言bash脚本编程面向过程的编程  顺序执行:默认法则,按照顺序一条一条语句执行  选择执行:分支,条件判断,符合条件的分支予以执行  循环执行:将同一段代码反复执行有限次,所以循环必须有 ...

  4. 小松之LINUX 驱动学习笔记(一)

    本篇主要是讲解驱动开发的基础知识以及一些环境配置方面的问题. 下面是一个hello world的简单的模块代码,很简单./*********************** 模块的简单例子* author ...

  5. php中的form表单

    表单处理 表单的概念在生活中很常见,就像是问卷调查表一样,别人先把问卷发给你,你照着问卷的要求填写,完事过后再将填完的问卷发给别人,从而达到一个将别人需要的信息传递给别人的一种方式. 传统的网页大多数 ...

  6. Myeclipse学习总结(5)——Myeclipse常用快捷键再学习

    Ctrl+1 快速修复 Ctrl+D: 删除当前行  Ctrl+Q 定位到最后编辑的地方  Ctrl+L 定位在某行  Ctrl+O 快速显示 OutLine  Ctrl+T 快速显示当前类的继承结构 ...

  7. 阻止a标签跳页,使用单击事件函数处理该请求

    阻止a标签跳页href="javascript:void(0)" 单击该标签时 页面不跳页   使用单击事件函数来处理该单击请求  返回上一层页面 ---------------- ...

  8. python 在爬虫中timeout设置超时有什么作用

    是为了防止url不可访问,或者响应速度太慢而造成的时间浪费. 比如,你要爬取1000个网站,如果有100个需要30s才能返回数据,你等待他们返回的话就需要3000s了,如果你设置10s超时,那么就能知 ...

  9. Android处理错误json数据

    此前一直都没遇到也一直相信服务端返回的json数据基本是正确的,直到我们的android端一直崩溃,并在友盟上查到一直报如下的错误: com.google.gson.JsonSyntaxExcepti ...

  10. spring cloud 中Actuator不显示更多信息的处理方式

    spring cloud 中Actuator不显示更多信息的处理方式 直接咨询了周大立,他说 management.security.enabled = false 就可以了: 学习了:http:// ...