git 使用和一些错误
一、简单使用
Git是目前世界上最先进的分布式版本控制系统,用于自动记录每次文件的改动,但是和所有版本控制系统一样,只能跟踪文本文件的改动,比如TXT文件,网页,所有的程序代码等,而图片、视频这些二进制文件,只能记录有改动,但是不知道改了什么。
与集中式版本控制系统最大的区别:集中式版本控制系统必须联网才能工作,速度也比较慢;而Git 有自己的本地仓库,只需要在联网的时候同步一下就好,同时也比较安全,比如当集中式版本控制系统的中央服务器要是出了问题,那就没法干活了。
1、安装git
CentOS7 :sudo yum install git
Ubuntu Linux :sudo apt-get install git
windows:
Git官网下载安装程序,然后按默认选项安装即可。(下载速度巨慢...)给个安装包,版本为:Git-2.19.0-64-bit.exe,可以先用着:传送门
安装完成后,在开始菜单里找到“Git”->“Git Bash”:
$ git config --global user.name "github_name"
$ git config --global user.email "email_name"
2、创建版本库
选择一个合适的地方,创建一个目录,然后进入这个目录,把这个目录变成Git可以管理的仓库
$ git init
可以发现当前目录下多了一个.git的目录,这个目录是Git来跟踪管理版本库的
然后把文件添加到仓库:
$ git add filename
把文件提交到仓库
$ git commit -m "说明"
-m 后面输入的是本次提交的说明,方便从历史记录里找到改动记录。
3、添加远程库
3.1 创建SSH Key:
$ cd ~/.ssh
$ ls
看这个目录下有没有id_rsa和id_rsa.pub这两个文件,如果已经有了,可直接跳到下一步。如果没有,创建SSH Key:
$ ssh-keygen -t rsa -C "email_name"
登陆GitHub,打开“Account settings”,“SSH Keys”页面,然后,点“Add SSH Key”,填上任意Title,在Key文本框里粘贴 id_rsa.pub文件的内容,点“Add Key”。GitHub允许添加多个Key,方便从不同电脑推送。
3.2 本地推送到远程仓库
在本地仓库(就是创建的那个目录)下运行命令:
$ git remote add origin git@github.com:githubname/filename.git //链接远程仓库,创建主分支
$ git push -u origin master //把本地仓库的文件推送到远程仓库
此后,每次本地提交后,只要有必要,就可以使用命令 git push origin master 推送最新修改。
至此,从本地仓库推送到远程仓库已经OK。
二、常用命令
下面介绍一些常用的命令:
$ git status 命令看看结果
$ git diff readme.txt 看具体修改了什么内容
$ git log 命令显示从最近到最远的提交日志
$ git reflog 记录每一次命令
版本回退
$ git reset --hard HEAD^ 回到上一版本
$ git reset --hard commit_id //commit_id为版本号,使用$ git log命令 可以看见
$ git checkout -- filename 丢弃工作区的修改
$ git reset HEAD filename 丢弃暂存区的修改
删除文件
$ git rm filename
$ git commit -m "remove filename"
$ git checkout -- filename 误删后,对于工作区是修改还是删除,都可以“一键还原”
克隆远程仓库
$ git clone git@github.com:githubname/filename.git
三、出现的问题:
1、Git: bash: cd: too many arguments
这个原因是因为路径名或者变量中间有空格,这个时候需要用双引号括起来
2、

在推送至远程仓库前加上:$ git pull origin master
$ git pull origin master // 把本地仓库的变化连接到远程仓库主分支 $ git push -u origin master //把本地仓库的文件推送到远程仓库
3、

是因为远程repository和我本地的repository冲突导致的,在github的版本库页面点击了创建README.md文件的按钮创建了说明文档,但是却没有pull到本地。这样就产生了版本冲突的问题。
解决方法:
3.1.使用强制push的方法:
$ git push -u origin master -f
这样会使远程修改丢失,一般是不可取的,尤其是多人协作开发的时候。
3.2.push前先将远程repository修改pull下来
$ git pull origin master
$ git push -u origin master
3.3.若不想merge远程和本地修改,可以先创建新的分支:
$ git branch [name]
然后push
$ git push -u origin [name]
参考地址:https://www.cnblogs.com/code-changeworld/p/4779145.html
关于更多git 的使用可以参考:廖雪峰老师的Git教程
git 使用和一些错误的更多相关文章
- git push origin master、git pull出现如下错误
git push origin master出现如下错误: Counting objects: , done. Writing objects: % (/), bytes, done. Total ( ...
- Git版本控制:Git冲突解决 相关错误总结
http://blog.csdn.net/pipisorry/article/details/46958699 冲突处理 git push冲突处理 git push时出现冲突:! [rejected] ...
- 关于git上的一些错误信息
如果输入$ Git remote add origin git@github.com:djqiang(github帐号名)/gitdemo(项目名).git 提示出错信息:fatal: remote ...
- git remote add origin错误
如果输入$ Git remote add origin git@github.com:djqiang(github帐号名)/gitdemo(项目名).git 提示出错信息:fatal: remote ...
- git提交代码出现错误fatal: Unable to create '项目路径/.git/index.lock': File exists.
git提交代码出现错误fatal: Unable to create '项目路径/.git/index.lock': File exists. 具体出错代码如下: 具体原因不详,在stackoverf ...
- [git 学习篇] git remote add origin错误
http://blog.csdn.net/dengjianqiang2011/article/details/9260435 如果输入$ Git remote add origin git@githu ...
- Git学习之常见错误 git push 失败
Git学习之常见错误 git push 失败 问题描述: git push Counting objects: , done. Delta compression using up to thread ...
- Git学习之常见错误 clone被拒绝
Git学习之常见错误 问题: git clone 时 报错 Permission Denied (权限被拒绝). 解决方法: 需要把本地的公钥上传到服务器. 解决步骤: ①第一步,设置本地的git的用 ...
- git ,报403错误,完美解决方案
首先命令行操作结果如下: root@zhiren-PowerEdge-T110-II:/zrun# git clone https://git.coding.net/xxxxxxxx/xxxx.git ...
- 常见的git命令和git->github错误
相关命令 git remote git remote add origin xxx (xxx为仓库链接) 给这个链接取一个名字,为origin git pull git pull <远程主机名& ...
随机推荐
- python基础函数、方法
python的函数和方法,通过def 定义: 函数的特性: 减少重复代码 使程序变的可扩展 使程序变得易维护 函数和方法的区别:函数有返回值.方法没有 语法定义: def sayhi():#函数名 p ...
- Android 代码混淆规则
1. Proguard介绍 Android SDK自带了混淆工具Proguard.它位于SDK根目录toolsproguard下面.ProGuard是一个免费的Java类文件收缩,优化,混淆和预校验器 ...
- Stock Starer股票盯盘
一个业余小项目,用于监控指定股票的成交指标,触发事件的主动通知 源码 !https://github.com/jeffchen81/stock-starer 设计说明 场景 定时任务1:通过网上Ope ...
- RocketMQ Py客户端
#!/bin/bash yum install make cmake gcc-c++ python-devel zlib-devel cd /home/amy git clone https://gi ...
- Linux 下的/usr/bin /usr/sbin /usr/local/bin /usr/local/sbin区别
一./usr/sbin与/usr/bin区别: 1./usr/sbin:root权限下的命令属于基本的系统命令,如shutdown,reboot,用于启动系统,修复系统: 2./usr/bin普通用户 ...
- Thinkpad E40热键不能使用解决办法
Thinkpad E40 0578M68笔记本电脑安装windows7 64bit和联想官网驱动后,键盘最上面一排热键中,除了静音.减小音量和增大音量之外,其余的热键均不可用,解决办法: 到联想官网下 ...
- 利用FinalData恢复shift+delete误删的文件
当前位置 : 首页 » 文章分类 : 生活 » 利用FinalData恢复shift+delete误删的文件 上一篇 有关可变形部件模型(Deformable Part Model)的一些说明 ...
- Android系统使用Shell脚本预装apk
客户需求:需要在Android系统预安装一个或者若干个apk,客户可以选择自行卸载并且卸载后系统再次启动并不会再次自动安装. 考虑到需要批量安装应用,我这里考虑到使用灵活的shell脚本.shell脚 ...
- Simplifying Conditional Expressions(简化条件表达式)
1.Decompose Conditional(分解条件表达式) 2.Consolidate Conditional Expressions(合并条件表达式) 3.Consolidate Duplic ...
- DroidVim:在安卓手机上使用vim
背景 有时候在邮件,钉钉,微信上收到一份文件,急需打开看一下,但有些文件用普通编辑器打开体验实在不佳,例如 patch,log 甚至 bin 文件.由于日常在电脑上使用的是 vim ,一个朴素的想法就 ...