git使用方法

由于工作中项目开发需要用到git,所以查了一些资料,对git的使用做一些记录的总结。

git简介

在这里插入图片描述
Workspace:工作区
Index / Stage:暂存区
Repository:仓库区(或本地仓库)
Remote:远程仓库

git 常用指令

git config --global user.name xxxxxxname   #配置邮箱
git config --global user.email xxxxxxxxxemail #配置用户名

git config -l  #显示配置
git clone <url> #克隆远程版本库
git init #初始化本地仓库
git status #查看下仓库的当前的状态
git add <file>  #提交file文件,从工作区到暂存区
git add  . #提交所有文件,从工作区到暂存区
git commit -m "commit message" # 提交所有更新过的文件,从暂存区到本地仓库
git commit file -m "commit message" # 提交file文件,从暂存区到本地仓库

工作区:就是你在电脑上看到的目录,比如目录下testgit里的文件(.git隐藏目录版本库除外)。或者以后需要再新建的目录文件等等都属于工作区范畴。
版本库(Repository):工作区有一个隐藏目录.git,这个不属于工作区,这是版本库。其中版本库里面存了很多东西,其中最重要的就是stage(暂存区),还有Git为我们自动创建了第一个分支master,以及指向master的一个指针HEAD。

使用Git提交文件到版本库有两步:

第一步:是使用 git add 把文件添加进去,实际上就是把文件添加到暂存区。

第二步:使用git commit提交更改,实际上就是把暂存区的所有内容提交到当前分支上。
某个文件不先add就直接commit,会报错。
在这里插入图片描述

git log #查看提交历史日志
git log  --pretty=oneline #查看提交历史日志,单行显示
git reflog #查看所有操作记录日志,回退很有用

git分支

显示分支

git branch #显示本地分支
git branch -a #显示所有分支
git branch -r #显示远程分支
git branch abc #本地新建abc分支
git checkout abc # 切换到本地abc分支

git checkout -b abc #新建本地abc分支并切换到abc分支
git checkout --  file  #把file文件在从暂存区恢复到工作区,放弃工作区的修改,--必须写
git diff #查看工作区与暂存区的不同
git diff file #查看file文件在工作区与暂存区的不同

git版本回退

在这里插入图片描述

git reset --hard HEAD # 回退到上个版本
git reset --hard HEAD~0 # 回退到前第0个版本
git reset --hard HEAD~1 # 回退到前第1个版本
git reset --hard HEAD~n # 回退到前第n个版本
git reset --hard 0abda95 # 回退到版本id为0abda95的版本

git本地合并

git merge abc #把abc仓库合并的当前的分支,默认是使用”Fast forward”模式,
#在这种模式下,删除分支后,会丢掉分支信息,–no-ff是禁用”Fast forward”模式
 git merge –no-ff  -m “注释” abc  #非”Fast forward”模式合并
git branch -d abc #删除abc分支

在”Fast forward”模式下合并,使用git branch -d abc删除abc分支后,用git log就查不到abc分支的信息了;
在非”Fast forward”模式下合并,使用git branch -d abc删除abc分支后,用git log还能查到abc分支的信息,推荐用-no-ff模式。

git工作区暂存

git stash save "注释" #保存工作区
git stash list #查看保存的工作区
git stash pop stash@{0}   #恢复保存的工作区

git 远程

git remote #要查看远程库的信息  
git remote –v  #要查看远程库的详细信息

当从远程库克隆时候,实际上Git自动把本地的master分支和远程的master分支对应起来了,并且远程库的默认名称是origin

git fetch [remote]  # 下载远程仓库的所有变动
git remote add [shortname] [url]  # 增加一个新的远程仓库,并命名
git pull <remote> <branch> # 拉取代码并快速合并,取回远程仓库remote的变化,与本地分支branch合并
git push <remote> <branch> # 推送代码及快速合并,上传本地指定分支branch到远程仓库remote
git branch --set-upstream-to=origin/abc  abc  #指定远程分支abc与本地分支abc的链接
git checkout –b dev origin/dev  #把远程的origin的dev分支拉到本地

本地开发完成后,可以试图用git push origin branch-name推送自己分支的修改.
如果推送失败,则因为远程分支比你的本地更新早,需要先用git pull试图合并。
一定要先pull这个分支,检查冲突。
如果合并有冲突,则需要解决冲突,并在本地提交。再用git push origin branch-name推送到远程的分支branch-name。

git tag

$ git log

commit 88d434eb9992fa7502ec246ecfb89aef19f16873

Date: Wed Nov 16 17:54:36 2016 +0800

change for assert

commit 6df3aa614a45e687697a628a9174106822f79bfc

Date: Tue Nov 15 17:45:40 2016 +0800

change for V1.7

使用commit id
git tag v0.9 6df3aa614a45e687697a628a9174106822f79bfc

推送某个标签到远程,使用命令git push origin <tagname>:

$ git push origin testtag

 一次性推送全部尚未推送到远程的本地标签

$ git push origin --tags

参考:https://blog.csdn.net/qq_36150631/article/details/81038485
https://www.jianshu.com/p/f57f08918a8b
在这里插入图片描述

  • 2
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值