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 ...
随机推荐
- Unity3D外包团队——技术分享U3D全景漫游(三)
22.给每个物体都附上贴图,如果是纯色物体,也付给纯色贴图 23.打光后,选择要烘培的物体 设置输出路径 添加烘培输出的贴图类型 添加“LightingMap”类型 设置烘培贴图大小和目标贴图位置为“ ...
- bzoj3822: 文学
Description 巨酱和主席是一对好朋友.他们都很喜欢读书,经常一起阅读相关领域书籍,进行系统的学习.一天主席列出了一份列表,里面共 p 本书,其中不乏<约翰克里斯多夫>,<名 ...
- (C#) Tasks 中的异常处理(Exception Handling.)
多线程编程中要注意对线程异常的处理.首先写个例子. 一个线程用于显示信息(Show Messages).主线程用于做其他工作(Do Works). using (Task taskShowMessag ...
- .Net 一些好工具
1.代码类 ReSharper :代码检查,代码补齐,(收费)(vs插件) MultiEditing: vs多行编译工具 VSCommand : Web Essentials : Css扩展支持,JS ...
- Linux nfs配置
***************节点2的arch2目录挂载到节点1下.那么节点2是主节点1是备******** 10.230.39.234(节点1)cat /etc/exports /arch2 10. ...
- GitHub上一个不错的开源C#源码(控制台界面开发)
https://github.com/flagbug/FlagConsole 如链接所示
- 母版页的 page_load事件执行两次
定义了一个母版页 Admin.master 部分代码如下 <body onload="LoadHight()"> <div> <!--公共的头部开始 ...
- 剑指offer习题集1
1.打印二叉树 程序很简单,但是其中犯了一个小错误,死活找不到,写代码要注意啊 这里左右子树,要注意是node->left,结果写成root->left vector<int> ...
- Ping 命令的使用方法总结
一.Ping 命令 “Ping”命令是我们在判断网络故障常用的命令,但您真正明白这个命令运行后会发生什么,以及出现的各种信息说明了什么吗?其实熟练的掌握 Ping 命令的各种技巧可以帮助你解决很多网络 ...
- 'telnet' 不是内部或外部命令,也不是可运行的程序 或批处理文件。
在telnet与ftp服务器相连时出现的问题: 原因:windows自带telnet,只是没有安装 解决如下: 然后关机重启