github踩坑之git命令收集与整理(windows)
最近开始又捡起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)的更多相关文章
- git命令收集(记得持续更新)
这里收集了一些常用的git命令: git remote add origin git@192.168.1.128:sabo/ycdd-server.git git push -u origin mas ...
- Git命令的简单整理大全
创建目录和查看路径 mkdir 创建目录 cd 进入到目录里面pwd 用于显示当前的目录cat 查看文件内容 Git命令使用说明 初始化一个目录成git的仓库(版本库)包括暂存区和ma ...
- git命令收集整理
git init # 初始化本地git仓库(创建新仓库) git config --global user.name "xxx" # 配置用户名 git config --glob ...
- Git 命令收集
目录 1.清理恢复 2.回滚,reset与revert的区别 3.merge,rebase,cherry-pick区别 4.删除不存在对应远程分支的本地分支 5.git pull,git push 报 ...
- Git命令收集【不断更新中】
git stash 可以用来保存暂时不想提交但又被修改过的文件. git stash pop 用来取出被保存在stash栈中的修改过的所有文件. git stash show 查询哪些文件被存放在了s ...
- git命令收集
$ git clone ... $ git status 查看状态 $ git commit -am "XXX" 提交信息 $ git commit -am "XXXX& ...
- github网站介绍、并使用git命令管理github(详细描述)
本章学习: 1)熟悉github网站 2)通过git命令远程管理github, 3)git命令使用ssh key密钥无需输入账号密码 1.首先我们来熟悉github网站 1.1 注册github 登录 ...
- 我总结的git命令指南。
git命令行指南 1.windows上安装git的网址:http://msysgit.github.com/. 没有安装过git的 这个网址里下mymsgit. 因为发现有些同学对git还不是那么熟悉 ...
- 一条 Git 命令减少了一般存储空间,我的服务器在偷着笑
元旦不是搭建了一个<Java 程序员进阶之路>的网站嘛,其中用到了 Git 来作为云服务器和 GitHub 远程仓库之间的同步工具. 作为开发者,相信大家都知道 Git 的重要性.Git ...
随机推荐
- 8 Mistakes to Avoid while Using RxSwift. Part 1
Part 1: not disposing a subscription Judging by the number of talks, articles and discussions relate ...
- 常用 CSS 选择器
// css 读取顺序从右到左,符合要求的都会匹配 // 通配符选择器 -- 选择所有元素 * // 通配符选择器 -- 选择某个元素下的所有元素 .demo * // 元素选择器 html,body ...
- Nginx的安装与升级
1,构建Nginx服务器; 2.升级版本; 一, 构建Nginx服务器 1.使用源码包安装nginx软件包 # yum -y install gcc pcre-devel openssl-devel ...
- Webstorm 破解2017.1 for Mac
废话不多说,改了去年分享2016版本的文章,给同学们带来2017.1版本的Mac版本.(win版本网上很多,我这里就不贴出来了). 1.去官仿下载最新的版本 https://www.jetbrain ...
- String、Stringbuffer、StringBuffer回顾
前言: 久了没用到,一下子就忘了..,参考文章:https://www.cnblogs.com/su-feng/p/6659064.html.https://baijiahao.baidu.com/s ...
- C语言基础 (8) 常用字符串处理函数
复习 如何调用库函数(别人写好的函数) 1) 头文件:包含指定的头文件,头文件主要包含此函数的声明 2) 函数名字:函数名字必须和头文件声明的名字一样 字符串常用处理函数: 1 ...
- spring boot --部署war到tomcat中
1.在pom文件中,将默认的jar包打包,改成以war包打包:<!--打包方式--><packaging>war</packaging> 2.将项目在doc命令中执 ...
- 【XSY3350】svisor - 点分治+虚树dp
题目来源:NOI2019模拟测试赛(九) 题意: 吐槽: 第一眼看到题觉得这不是震波的完全弱化版吗……然后开开心心的码了个点分治 码到一半突然发现看错题了……心态崩了于是就弃疗手玩提答去了 于是就快乐 ...
- [SDOI2016]生成魔咒(后缀自动机)
看一眼题.本质不同的字串数. 嘴角微微上扬. 每一次加一个数输出一个答案. 笑容渐渐消失. 等等,\(SAM\)好像也可以求本质不同的字串. 设当前字符串用\(x\)表示,每次插入完成后\(ans\) ...
- Linux 中常用的基础命令二
1.Linux文件分层结构 FHS:Linux有一个组织叫LSB定义的Linux发行版基础目录名称命名法则及功用规定,这种标准叫FHS文件系统层级标准./bin 存放可执行的二进制程序,管理员和 ...