Git基本原理与常用命令总结

Git&Guthub学习路线

思维导图来自“尚硅谷Git&GitHub视频教程”

远程库、本地库、暂存区和工作区运作关系:

图片来自网络

解释图中的名词:
  • Workspace 工作区
  • Index/Stage 暂存区
  • Repository 本地库
  • Remote 远程库

常用Git命令总结

一、 本地库操作
1.设置签名:

1.1项目级别/仓库级别:仅在当前本地库范围内有效

git config user.name [name]
git config user.email [email]

1.2系统用户级别:登录当前操作系统的用户范围

git config –global user.name [name]
git config –global user.name [name]

1.3查看当前用户签名

cat ~/.gitconfig	//~/.gitconfig为信息保存位置

1.4签名优先级:项目级别>系统用户级别(如果只有系统用户级别,就以系统用户级别为准,但是二者都没有是不允许的)

2.新建本地库

2.1在自己电脑里找到自己所要上传的文件夹,右键Git Bash here:

git init	//此时文件夹内会生成.git的一个隐藏文件

2.2在git bash中修改文件内容

vim [文件名]		//vim编辑器操作:按“i”进行编辑;按“ESC”退出;输入“:wq”完成写入退出

2.3将工作区的文件添加到暂存区(添加)

git add [文件名]		//添加单个文件

git add -A	//添加所有变化

git add -u	//添加被修改和倍删除文件,不包括新文件

git add .		//添加新文件和被修改的文件,但不包括被删除的文件

2.4撤销

git checkout [文件名]		//恢复暂存区的指定文件到工作区

git checkout .		//恢复暂存区的所有文件到工作区

2.5删除

git rm [文件名1] [文件名2] ...	//删除工作区文件,并且将这次删除放入暂存区

git mv [原文件名] [修改后的文件名]	//改名文件,并且将这个改名放入暂存区

2.6将暂存区的文件提交到本地库(提交)

git commit [文件名]	//回车后将进入vim编写注释

git commit -m “注释” [文件名]		//可以不用进入vim直接写注释

git commit --amend -m [message]		//使用一次新的commit,替代上一次提交,如果代码没有任何新变化,则用来改写上一次commit的提交信息

git commit --amend [文件名] [文件名] ...		//重做上一次commit,并包括指定文件的新变化

2.7查看历史记录

(多屏显示控制方式:空格向下翻页;b向上翻页;q退出)
git log	//查看完整历史记录

git log --pretty=oneline		//以行为单位显示信息

git log –oneline	//每一行显示一项记录,并只显示一部分hash值			
		
git reflog		//显示当前分支的最近几次提交,并显示指针的指向

2.8查看状态信息,比较文件差异

git status		//查看工作区、暂存区状态

git diff		//显示暂存区和工作区的差异

git diff [文件名]	//将工作区中的文件和暂存区进行比较

git diff [本地库中历史版本] [文件名]		//将工作区文件和历史记录比较

git diff --cached [file]		//显示暂存区和上一个commit的差异

git diff HEAD		//显示工作区与当前分支最新commit之间的差异

2.9版本的前进和后退

git reset --hard [局部索引值]	//回退到指定的版本,删除操作已经提交到本地库,则指针指向历史记录;删除操作尚未提交到本地库,则指针位置使用HEAD

git reset --hard HEAD^		//只能后退,一个^表示后退一步,n个表示后退n步

git reset --hard HEAD~n		//表示后退n步

2.10分支操作

git branch [分支名]	//创建分支

git branch -v		//查看分支

git branch -r		//查看远程所有分支

git checkout [分支名]		//切换分支

git branch [branch] [commit]		//创建分支并指向commit

git branch --track [分支名] [远程分支名]		//新建一个分支,与指定的远程分支建立追踪关系

git branch --set-upstream-to=[远程库名/远程分支名]  [本地分支名]		//本地分支关联远程分支

git merge [指定分支名]		//合并指定分支到当前分支

git branch -d [分支名]		//删除分支

2.11解决上库冲突

第一步:编辑文件,删除特殊符号(vim [文件名])
第二步:把文件修改好,保存退出(wq)
第三步:git add [文件名]
第四步:git commit -m “注释” (此时commit不能带具体文件名)
二、远程库操作

1.1创建和查看远程库

git remote -v		//查看当前所有远程库地址别名

git remote add [远程库别名] [远程库URL]	//关联远程库给远程库起别名

1.2克隆远程库

git clone [远程库URL]		//将远程库内容克隆到本地库

1.3远程同步

git fetch [远程库别名]	//下载远程库的所有变动

git fetch [远程库别名] [远程分支名]	// 指定分支名,取回特定分支的更新

git log -p FETCH_HEAD	//取回更新后会返回一个FETCH_HEAD,指的是某个分支在服务器上的最新状态,我们可以在本地通过它查看刚取回的信息

git merge [远程库别名/远程分支名] 	//将远程分支合并到当前分支

git pull [远程库别名] [远程分支名]	//取回远程库的变化,并与本地分支合并

git pull [远程库别名] [本地分支名]:[远程分支名]	//如果本地当前是在与远程分支不同名的分支上,想要将远程分支与当前不同名的分支合并(merge),可以使用如下命令

git pull master//将远程仓库的master分支合并下来。如果本地没有master分支,那么本地就新建一个master分支

git push [远程库别名] [本地分支名]	//将当前分支提交到远程库上,如果远程库上没有这个分支,则会在远程库上新建一个该分支

git push [远程库别名] [本地分支名]:[远程分支名]	//指定当前分支提交到远程库的某个分支上
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值