git命令总结

我学习git用到的命令

这里有一个总结:Git Cheat Sheet

#安装初始化
sudo apt-get install git			#git安装
git config --global user.name "Your Name"		#
git config --global user.email "email@example.com"	#

#基本操作
mkdir learngit				#创建目录
git status				                #查看当前目录状态
git init				                #初始化目录
touch readme.txt
git add readme.txt			        #添加到缓冲区
git conmmit -m "add readme"		#提交到git仓库

git diff readme.txt			        #查看修改内容
git diff HEAD -- readme.txt 		#查看工作区和版本库里面最新版本的区别
git diff HEAD~2 -- lib/log/file.php

git log					        #查看版本日志,可以加参数--pretty=oneline输入更少内容
git reset --hard HEAD^			#当前版本HEAD回退到上一个版本HEAD^,当前版本为HEAD,上一个版本为HEAD^,上一个版本为HEAD^^,上20版本为HEAD~20
git reset --hard 3628164		#回退到id为3628164的版本
git reflog				                #用来记录你的每一次命令,可以查看到每次操作的版本id

工作区:刚创建的文件
暂存区:使用add添加到暂存区
分支(master):使用commit提交到分支

git checkout -- readme.txt		#可以丢弃工作区的修改
git reset HEAD readme.txt		#撤销暂存区的修改

#删除操作
git rm test.txt				        #删除文件
git commit -m "remove test.txt"	#删除后提交
git checkout -- test.txt		        #误删的文件恢复到最新版本,当粗鲁地使用系统rm命令可以使用这个命令
注:git checkout其实是用版本库里的版本替换工作区的版本,无论工作区是修改还是删除,都可以“一键还原”。

#远程仓库
ssh-keygen -t rsa -C "youremail@example.com"
#创建本地密钥,一路回车便可,之后在~/.ssh/下生成两个文件id_rsa和id_rsa.pub两个文件,
#这两个就是SSH Key的秘钥对,id_rsa是私钥,不能泄露出去,id_rsa.pub是公钥,可以放心地告诉任何人
#将id_rsa.pub中的内容添加到github中便可


git remote rm origin			#删除远程关联
git remote add origin git@github.com:nobsu/demo1.git  #关联本地仓库到远程仓库
git push -u origin master             #推送到远程仓库,第一次加上-u参数

#分支
git branch				        #查看所有分支
git checkout -d dev			#创建并切换到dev分支,相当于下面两条命令
git branch dev				#创建dev分支
git checkout dev			        #切换当前分支到dev分支

git push origin dev			        #推送dev分支
git merge dev				        #将dev分支合并到当前分支(master)

删除远程分支
git branch -a
git branch -r -d origin/branch-name        
git push origin :branch-name
git branch -d dev 			        #删除dev分支

#解决冲突
$ git merge feature1
	Auto-merging readme.txt
	CONFLICT (content): Merge conflict in readme.txt
	Automatic merge failed; fix conflicts and then commit the result.
合并readme.txt文件时出现了冲突,Git告诉我们,readme.txt文件存在冲突,必须手动解决冲突后再提交。git status也可以告诉我们冲突的文件

#手动解决后提交
$ git log --graph --pretty=oneline --abbrev-commit	#图形化查看分支合并情况
$ git branch -d feature1				#解决冲突后删除分支

git checkout -b dev origin/dev	#创建远程origin的dev分支到本地
git pull				                #从远程拉取更新本地分支
git branch --set-upstream dev origin/dev#指定本地dev分支与远程origin/dev分支的链接,当pull提示“no tracking information”时使用

git remote -v				        #查看远程库信息

#标签
git tag					        #查看标签
git tag v1.0				        #打标签,请在master分支上操作,或添加信息
git tag -a <tagname> -m "blablabla..."
git tag v0.9 6224937			#给指定id提交打标签
git show v0.9				        #查看指定标签提交信息
git tag -d v0.1				        #删除标签
git push origin v1.0			#推送标签到远程
git push origin --tags			#一次性推送所有标签到远程
git push origin :refs/tags/v0.9	#删除一个远程标签,首先删除本地标签

#一个有用的别名配置git lg
git config --global alias.lg "log --color --graph --pretty=format:'%Cred%h%Creset -%C(yellow)%d%Creset %s %Cgreen(%cr) %C(bold blue)<%an>%Creset' --abbrev-commit"

#保存现场
git stash	#保存现场,可以把没有commit的暂存区保存起来
git checkout otherbr	#修复其他问题
git checkout stashbr	#切回之前的分支,来恢复现场
git stash list			#查看工作现场

git stash apply			#回复工作现场
git stash drop			#删除工作现场

git stash pop			#恢复并删除工作现场,相当于上面两条命令
git stash apply stash@{0}	#多次stash,恢复的时候,先用git stash list查看,然后恢复指定的stash


Pull Request 记录:https://github.com/michaelliao/learngit/blob/master/nobsu.txt

[参考文献]

Git教程 http://www.liaoxuefeng.com/wiki/0013739516305929606dd18361248578c67b8067c8c017b000 

转载于:https://my.oschina.net/freegeek/blog/339031

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值