git 一般的使用操作
1.先在github上建立自己的repository,取名为yourRepo
2.创建本地库
ssh -T git@github.com # 在初始化版本库之前,先要确认认证的公钥是否正确
git init # 初始化版本库
git remote add origin git@github.com:yourname/yourRepo.git # 进入要上传的仓库,添加远程地址 git add -A # 或者使用 git add * 添加所有仓库
git commit -m 'first commit' # 提交并添加注释
git push origin master # 上传到github,如果git仓库中已经有一部分代码,会报(Non-fast-forward)错误
或者
git init
git add -A
git commit -m "first commit"
git remote add origin https://github.com/xxx/xxx.git
git push -u origin master
3.可能出现的问题及解决办法
如果git仓库中已经有一部分代码,是不允许直接覆盖代码上去,会出现(Non-fast-forward/error:failed to push som refs to)错误,解决办法如下:
(1)强推,强制使用本地的代码覆盖git仓库中的内容git push -f
(2)先把git仓库中的内容fetch到本地然后merge后,再push,#git fetch #git merge,这2句命令等价于git pull
合并pull两个不同的项目出现:fatal: refusing to merge unrelated histories
解决办法:git pull origin master --allow-unrelated-histories,添加--allow-unrelated-histories参数
git pull 是可能会报错,解决办法如下:
(1)修改(.git/config)的内容如下
[branch "master"]
remote = origin
merge = refs/heads/master
(2)如果不编辑config文件的话,可以使用如下命令行:
git config branch.master.remote origin
git config branch.master.merge refs/heads/master
然后再pull下再push就OK了,或者直接git pull origin master
4.在第一次使用git push代码前需要先配置Git
(1)首先在本地创建ssh key;
$ ssh-keygen -t rsa -C "your_email@youremail.com"
后面的your_email@youremail.com改为你的邮箱,之后会要求确认路径和输入密码,我们这使用默认的一路回车就行。成功的话会在~/下生成.ssh文件夹,进去,打开id_rsa.pub,复制里面的key。回到github,进入Account Settings,左边选择SSH Keys,Add SSH Key,title随便填,粘贴key。
(2)为了验证是否成功,在git bash下输入:
$ ssh -T git@github.com
如果是第一次的会提示是否continue,输入yes就会看到:You’ve successfully authenticated, but GitHub does not provide shell access 。这就表示已成功连上github。
(3)把本地仓库传到github上去之前还需要设置username和email,因为github每次commit都会记录他们。
$ git config --global user.name "your name"
$ git config --global user.email "your_email@youremail.com"
Git基本常用命令如下:
mkdir xx (创建一个空目录 xx指目录名) pwd 显示当前目录的路径。 git init 把当前的目录变成可以管理的git仓库,生成隐藏.git文件。 git add XX 把xx文件添加到暂存区去。 git commit –m “xx” 提交文件 –m 后面的是注释。 git status 查看仓库状态 git diff xx 查看xx文件修改了那些内容 git log 查看历史记录 git reset –hard HEAD^ 或者 git reset –hard HEAD~ 回退到上一个版本 (如果想回退到100个版本,使用git reset –hard HEAD~ ) cat xx 查看xx文件内容 git reflog 查看历史记录的版本号id git checkout -- xx 把xx文件在工作区的修改全部撤销。 git checkout -b branchname 创建并切换到分支
git checkout -b branchname origin/branchname 把远程origin的branchname分支创建到本地 git rm XX 删除XX文件 git remote add origin https://github.com/tugenhua0707/testgit 关联一个远程库 git push –u(第一次要用-u 以后不需要) origin master 把当前master分支推送到远程库 git clone https://github.com/tugenhua0707/testgit 从远程库中克隆 git checkout –b dev 创建dev分支 并切换到dev分支上 git branch 查看当前所有的分支 git checkout master 切换回master分支 git merge dev 在当前的分支上合并dev分支 git branch –d dev 删除dev分支 git branch name 创建分支 git stash 把当前的工作隐藏起来 等以后恢复现场后继续工作(生成stash内容) git stash list 查看所有被隐藏的stash内容列表 git stash apply 恢复被隐藏的文件(即工作区),但是stash内容不删除 git stash drop 删除一条stash内容 git stash pop 恢复工作现场的同时 也删除stash的内容 git remote 查看远程库的信息 git remote –v 查看远程库的详细信息 git push origin master git会把master分支推送到远程库对应的远程分支上
# 用github上的代码把本地的替换掉
git reset --hard
git pull # 本地修改未提交,服务器上修改
git stash #保存现场 git stash list可以看到保存的信息
git pull
git stash pop #然后可以使用git diff -w +文件名 来确认代码自动合并的情况
当上传较大文件是报错:Git, fatal: The remote end hung up unexpectedly
git config --global http.postBuffer 524288000
或者在.git/config文件中添加:
[http]
postBuffer = 524288000
git中有部分内容始终提交不上去,或许git库中加入了clone到的其他的git库,使用git add -f dir后报错fatal: Pathspec 'dir' is in submodule 'dir'
解决办法是:删掉文件中的.git目录,git rm -r --cached dir然后按正常的add commit执行就可以了
git 一般的使用操作的更多相关文章
- git学习 本地常用操作01
注意: Microsoft的Word格式是二进制格式,因此,版本控制系统是没法跟踪Word文件的改动 不要使用Windows自带的记事本编辑任何文本文件 开始git项目: 初始化本地项目: 初始化:g ...
- Git的纯命令操作,Install,Clone , Commit,Push,Pull,版本回退,撤销更新,分支的创建/切换/更新/提交/合并,代码冲突
Git的纯命令操作,Install,Clone , Commit,Push,Pull,版本回退,撤销更新,分支的创建/切换/更新/提交/合并,代码冲突 这篇是接着上篇分布式版本库--Windows下G ...
- git 回退各种场景操作
在git的一般使用中,如果发现错误的将不想提交的文件add进入index之后,想回退取消,则可以使用命令:git reset HEAD <file>...,同时git add完毕之后,gi ...
- Git 常用命令及操作总结
Git常用命令及操作总结 By:授客 QQ:1033553122 利用TortoiseGit克隆源码库到本地 1.安装TortoiseGit 2.打开Git,进入到源码库,点击图示红色选框框选按钮,弹 ...
- Git打Tag相关操作
一.打标签 git tag -a 0.1.3 -m “Release version 0.1.3″ 详解: git tag 是命令 -a 0.1.3是增加 名为0.1.3的标签 -m 后面跟着的是标签 ...
- Git回滚merge操作
执行完merge操作后,没有修改代码 1.命令 ⑴ git reflog 查看merge操作的上一个提交记录的版本号 ⑵ git reset –hard 版本号 这样可以回滚到merge之前的状态 2 ...
- git 常用命令行操作
git常用命令行操作: 点击 git bash 进入到命令行: git clone https://github.com/wlz1244/qingoo.git //下载一个master分支代码 g ...
- Git单人本地仓库操作
本地仓库是个.git隐藏文件 以下为演示Git单人本地仓库操作 1.安装git sudo apt-get install git 密码:skylark 2.查看git安装结果 git 3.创建项目 在 ...
- idea中Git配置,Git的非命令操作
1.更换Git账户 在idea中File-->Settings-->Appearance-->System Settings-->Passwords,选择不保存密码(Do no ...
随机推荐
- mui适用场景说明,能不能在普通浏览器里使用,能否用于wap网站
mui适用场景说明 为解决HTML5在低端Android机上的性能缺陷,mui引入了原生加速,其中最关键的就是webview控件,因此mui若要发挥其全部能力,需和5+ App配合适用,若脱离5+ A ...
- 苹果Mac OS X显示隐藏文件的方法
苹果Mac OS X显示隐藏文件的方法有很多种,这里介绍一种最简单的, 方法/步骤 打开“终端”,根据自己的版本选择命令 早期的OS X(10.6~10.8)系统可以使用如下两条命令来开始 ...
- POST内容太大的问题
背景: 最近项目进入尾声,需要做交付测试,发现CMS生成页面在反复修改保存多次后,由于页面存在动态加载js的缘故,使得页面的内容越来越大,最终出现页面没有办法保存(ajax post将页面的内容发送给 ...
- UILabel的使用
UILabel是iOS用于显示文本的控件. 基本属性如下代码所示: UILabel *lbl = [[UILabel alloc] init] ; //设置显示区域 lbl.frame = CGRec ...
- C#:安装Windows服务,动态指定服务名及描述
Installer.cs>> public Installer() { InitializeComponent(); /* 服务未注册前,System.Configuration.Conf ...
- IntelliJ IDEA 环境配置
0. 下载 jdk 用于 java developer kit 下载地址 见 rj.baidu.com 1. 从百度 网盘下载 ideaIU-2016.2.5.exe 并安装在window上 2. ...
- HAProxy安装配置详解
简介 HAProxy提供高可用性.负载均衡以及基于TCP和HTTP应用的代理,支持虚拟主机,它是免费.快速并且可靠的一种解决方案. HAProxy特别适用于那些负载特大的web站点,这些站点通常又需要 ...
- MySQL日志恢复误删记录
1.查询日志是否开启 show variables like"log_"; 2.查询是用的哪个日志文件 show master status; 3.定位是在什么时间误删的 /usr ...
- jQuery入门级part.2
一,事件编程 基本事件: blur(fn) 当失去焦点时 change(fn) 当内容发生改变时 click(fn) 当鼠标单击时 dblclick(fn) 当鼠标双击时 focus ...
- Hadoop学习18--yarn配置篇-基本配置节点
<configuration> <property> <name>yarn.nodemanager.aux-services</name> <va ...