——git操作命令

Git&GitHub

一、明确git中的概念

1、git版本管理工具四个区域概念:
Workspace:工作区
State:暂存区
Repository:仓库区(或本地仓库)
Remote:远程仓库
2、 git中一些单词意思:
Head:表示当前版本,上一个版本就是Head^(可以写作Head~1),上一个版本就是Head^^^^^(可以写为Head~5)
untracked:新建的文件,没有git add [filename] 的都属于未被git追踪到文件,未加入到暂存区的文件: 指的是已经被追踪(tracked)过,但是没有加入到暂存区(已经执行过git add的但是这次修改后还没有git add)	
origin: git给远程库起的默认名称是origin

二、基础操作(基于Linux系统操作—git bash中)

1、初始化:
git config --global color.ui true 设置颜色作为区别
mkdir ** 创建目录
cd **/	 切换到某个目录
pwd 	 用于显示当前文件夹中有什么
git init 初始化 初始化本地库
ll 		查看目录里有什么 **注意:**不能显示隐藏文件
ll -lA	查看所有文件包括隐藏文件(.git默认是隐藏文件)
ll.git/	查看隐藏文件夹中有什么
2、设置签名(用户名,邮箱):
设置项目中局部用户和邮箱:
git config user.name mc_pro 		—局部用户名
git config user.email abc@qq.com 	—局部邮箱
设置好后可以用 cat .git/config 来查看项目用户和邮箱
设置全局用户和邮箱:
git config --global mc_global		—全局用户名
git config --global abc@qq.com		—全局邮箱
设置好后先cd ~ 到根目录下然后用 cat.gitconfig 查看
注意:就近原则,项目级别优先于系统用户级别,二者都有时优先采用项目级别,二者都没有不允许。
3、常用命令:
git init		初始化
git status		查看文件状态
touch **		创建文件
git add **		提交到暂存区 文件名 或者 .代表所有
git commit 		将暂存区文件保存到本地仓库,并且会生成时间以及哈希值,通过哈希可以返回到历史版本
—注意:如果不加-m提交会进入vim编辑模式:
①:set nu进入vim编辑器  冒号不要省略
②键盘上的i键进入编辑模式
③编辑完成后ESC键 :wq保存退出
④git commit ** -m "msg" 这样好处是不用进入vim编辑器
4、重要指令:
git rm --cached **		从暂存区中移除文件
- git rm **.**  从版本库中移除,并再次进行提交
- 误删操作 git checkout --**.** 一键还原
git log		查看日志可以查看到什么人什么时间以及前后差别
- 如果嫌输出信息太多,可以试着添加 pretty=oneline
- 只显示提交信息的第一行		 git log --pretty=short
- 只显示指定目录、文件的日志	    git log **.**文件名
- 只显示文件的改动			   git log -p
- 显示指定文件详细改动信息	     git log -p **.**
git log --graph	以图表形式查看分支 
git diff 	查看更改前后差别:查看修改内容,查看工作树、暂存区、最新提交之间的差别 
- +号代表新添加的行
- -号代表被删除的行
- 养成一个好习惯 在执行git commit命令之前先 git diff HEAD命令,查看本次和上次提交之间差别
git reset --hard	回溯历史版本 值写入commit时的哈希值即可回退
- git reset --hard HEAD^ 注意加上上箭头代表后退到上一个版本
git reflog		git log只能查看以当前时间状态为终点的历史日志,reflog查看当前仓库所有历史操作,在日志中可以看到,commit/checkout/reset/merge等git命令的执行记录(哈希值),只要不进行GC(垃圾回收),都可以查到
- 例:git reset --hadr 83b5s0
git coommit --amend 修改上一条提交的信息,输入后便进入到vim编辑器中
- 编辑完成后看到如下结果【master 27b7s52】 Merge branch '***'
- 执行 git log --graph就可修改了
git rebase -i 压缩历史  
git commit -am "**" 合并了 add 和 commit 操作

三、分支操作

1、常见命令(默认为master主分支):
git branch 					显示当前分支 *号代表当前
git checkout -b ** 			创建、并切换到该分支 《是以下操作两个命令简化版》
- git branch ** 
- git checkout **
git checkout ** 			切换分支
- git checkout - 			切换到上一个分支
- git checkout --file **.** 丢弃工作区的修改
git branch -d ** 		删除分支
- 如果要丢弃一个没有被合并过的分支,可以通过git branch -D name 强行删除
git merge 	合并分支
- 假设分支A已经实现效果,想要把它合并主干master,首先要切换到master分支 git checkout master
- 之后运行 git megre --no-ff A分支进行合并
git tag ** 				注意要先切换到要打标签的分支上,再进行设置
- git tag 可以查看所有标签
- git tag -d ** 删除标签只是删除本地标签名
- 如果已经提交到远程仓库了,先从本地删 git tag -d v0.9
- 然后远程删除 git push origin :refs/tags/v0.9
git push origin **		推送某个标签到远程
- git push origin --** 一次性全部推送

四、GitHub远程仓库

1、基础命令:
git remote add ***(仓库地址)  		添加远程仓库
git push -u origin master(分支)	 推送至远程仓库
git clone							获取远程仓库
- 使用克隆命令后默认会处于master分支下,同时系统将origin设置成该远程仓库标识符
- 当前本地仓库的master分支与GitHub(origin)的master分支内容是一样的
- git branch -a 查看当前分支的相关信息
git pull 							获取最新的远程仓库分支
2、总结:
要关联一个远程库,使用命令 git remote add origin git@server-name:path/repo-name.git;
关联后,使用 git push -u orign master 第一次推送master分支的所有内容;
此后,每次本地提交后,只要有必要,就可以使用命令 git push orign master推送最新修改;

五、多人协作

1、基础命令:
git remote 							查看远程仓库信息
- git remote -v	显示详细信息
2、总结:
查看远程库信息,使用 git remote -v;
本地新建的分支如果不推送到远程,对其他人就是不可见的;
从本地推送分支,使用 git push orgin branch-name,如果推送失败,使用 git pull 抓取远程的新提交;
在本地创建和远程分支对应的分支,使用 git checkout -b branch0name origin.branch-name,本地远程最好名称一致; 
建立本地分支和远程分支的关联,使用 git branch --set-upstream branch-name origin/branch-name;
从远程抓取分支,使用 git pull,如果有冲突要先处理冲突。

六、Linux/Unix命令—非重点

一般跟短命令选项(通常是单字母,也有一些命令是例外的),-- 后一般跟长命令选项。如果只有一个单独的--,
后面不紧跟任何选项,则表示命令选项结束,后续的都作为命令的参数而不是选项。
例如:
	git checkout -- filename
	filename作为git checkout 的参数,而不是选项。
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值