ubuntu下git简单指令及一些简单错误整理

	在初始使用git事遇到很多问题,在此做一个整理
	如有问题,及时联系作者修改,防止误导他人。蟹蟹!!!

常用指令

1.sudo apt-get install git 	#:安装git
2.git init					#:把文件夹变成仓库
3.git add filename 			#把文件夹到暂存
4.git commit -m "description"#:将暂存区进行提交
5.git commit --amend  		#修改最后一条提交的 commit description,
6.git pull					#:从远程库抓取下来
7.git push origin xxx		#:把本地库xxx分支推到远程库
8.git push origin master	#:把文件主分支推到
9.git status				#:显示工作目录和暂存区的状态
10.git log 					#:查看提交历史
11.git log --pretty==oneline #以精简模式显示提交历史记录
12.got reflog				#:可以查看所有分支的所有操作记录(包括已经被删除的 commit 记录和 reset 的操作)

13.git branch				#:获取分支信息
14.git checkout -b xxx		#:创建并切换分支
15.git branch xx			#:创建分支
16.git branch -d xx			#:删除已合并的分支
17.git branch -D xx 		#:删除未合并的分支
18.git diff 				#:比较工作区与暂存区
19.git merge xxx			#:使用 Fast-Forward合并分支xxx
20.git merge --no-ff -m "description" xxx	#:不使用fast-forward方式合并,保留分支的commit历史

注:fast-forward方式就是当条件允许的时候,git直接把HEAD指针指向合并分支的头,完成合并。属于“快进方式”,不过这种情况如果删除分支,则会丢失分支信息。因为在这个过程中没有创建commit

bug分支管理

git stash		#:封存当前的工作现场
git stash list	#:显示被封存的工作现场
git stash pop	#:解封工作现场

标签管理

1.	git tag xxxx			#:创建当前版本的标签

2.	git tag xxx  commitid	#:创建指定版本的标签

3.	git tag					#:查看所有的标签

4.	git show xxx 			#:查看指定标签的详细信息

5.	git tag -a xxx -m "description" commitid			#:创建指定版本的标签并附加说明信息

6.	git tag -d xxxx				#删除本地版本库中的指定标签

7.	git push origin :refs/tags/xxx		#:删除远程仓库中的标签

8.	git push origin --tags				#:将所有本地标签推送到远程

9.	git push origin xxxx				#:将指定的一个标签推送到远程

生成公钥

ssh-keygen -t rsa -C "mail@mail.com"
cd .ssh/
cat id_rsa.pub 

远程链接

git remote add origin git@github.com:Username/Repository.git
git push -u origin master

克隆

git clone git@github.com:Username/Repository.git

多人协作

推送分支【push】、
push:将本地的修改推送到远程版本库间的分支映射

主:git branch --set-upstream-to=origin/dev dev
从:git checkout -b dev origin /dev

版本回退

1.git reset --hard HEAD^:回退到上个版本
2.git reset --hard HEAD^^:回退到上上个版本
3.git reset --hard HEAD~100:回到上100个版本
4.git reset --hard HEAD commitID:回到某个版本(commitID)

撤销管理

① 改动了工作区,取消工作区的改动:git checkout -- xxx
② 改动了工作区,add了暂存区,取消暂存区的添加:git reset HEAD xxx git checkout -- xxx
③ 改动了工作区,add了暂存区,commit到了版本库,取消操作:git reset --hard HEAD^

错误整理

一:
问题描述

! [rejected]        master -> master (fetch first)
error: 推送一些引用到 'git@github.com:Nancyhanhan/text1903.git' 失败
提示:更新被拒绝,因为远程仓库包含您本地尚不存在的提交。这通常是因为另外
提示:一个仓库已向该引用进行了推送。再次推送前,您可能需要先整合远程变更
提示:(如 'git pull ...')。
提示:详见 'git push --help' 中的 'Note about fast-forwards' 小节。

出现原因:

出现这个问题是因为github中的README.md文件不在本地代码目录中,可以通过如下命令进行代码合并。

处理办法:

git pull --rebase origin master
git push origin master

二、
问题描述

#在$ git push origin master出现下列语句:
Everything up-to-date

出现的原因:

1.没有git add;
2.git add 了,但忘了git commit -m “提交信息”
3.上面两个步骤都成功执行,还出现这个错误。
4.那么很有可能是发生在新clone一个远程仓库且创建的目录下是空的,目录下必须有文件才能git push上传成功。
处理办法:

方法一:修改文件,然后重新add,commit
方法二:新建一个分支-跳到分支-然后将你的改动提交到新的分支上(add、commit)-跳到master-get merge 分支-git-diff -git push origin master-删除分支

三:
问题描述:

sign_and_send_pubkey: signing failed: agent refused operation
Permission denied (publickey).
fatal: 无法读取远程仓库。
请确认您有正确的访问权限并且仓库存在。
原因:示ssh-agent 已经在运行了,但是找不到附加的任何keys,就是说你生成的key,没有附加到ssh-agent上,需要附加一下

解决办法:

eval "$(ssh-agent -s)"
ssh-add

四:

问题描述:

fatal: 远程 origin 已经存在

解决方法:git remote rm origin,然后再add

五:
问题描述:

正克隆到 'tset718'...
warning: 您似乎克隆了一个空仓库。
push的时候会出现
error: 推送一些引用到 'git@github.com:GunnWong/tset718.git' 失败

原因:克隆的远程库里没文件,第一次单独push会报错

评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值