git使用详细总结

集成常用的一些操作,方便快速上手
本文首先简单介绍一些git的几个区域和区域之间的命令,然后是git中一个比较重要的概念分支的相关操作,接着是打标签的一些相关内容,最后是对提交历史的一些查看和一些其他命令。

前置知识

在这里插入图片描述

Git的区域分为 工作区、暂存区、本地仓库区、本地远程仓、远程仓库

关联远程仓库 如果还没有Git仓库,你需要 git init

初次提交需要关联远程仓库 git remote add origin https://github.com/xxxxxx  # 是远程仓库的名称,通常为 origin

工作区(work directory):一般就是我们项目的根目录。

git add files:把当前工作文件拷贝到暂存区域。

暂存区(stage):版本库中设立一个暂存区(Stage or Index),作为用来直接跟工作区的文件进行交互,工作区文件的提交或者回滚首选都是通过暂存区,而版本库中除了暂存区之外,文件的提交的最终存储位置是分支(Branch),在创建版本库的时候默认都会有一个主分支(Master)。

git commit:在暂存区域生成文件快照并提交到本地仓库。

本地仓库(repository):我们在为项目添加本地库之后,会在工作区生成一个如下图所示的隐藏目录“.git”,.git目录即为当前工作区的本地版本库

git push origin master -f   			-f代表强制提交

Remote:远程仓库,托管代码的服务器,可以简单的认为是你项目组中的一台电脑用于远程数据交换。

git status【查看当前工作空间状态】

在这里插入图片描述

分支
git branch xxx 创建一个新的分支

git branch 查看当前所在分支【* 表示当前】

git checkout xxx 从当前分支切换某个分支

git checkout dev【切到dev次分支】

git pull【获取dev分支变化,合并冲突,使本地dev次分支最新】


git checkout master【先切到主分支master上】

git merge dev【一般是git merge dev,将dev开发完的合并到master上】

git push -u origin master【提交master分支到线上master】
标签

常用的标签想必大家都用过,用来标记和记录一些未完成的事情,其实在Git中也有标记

标签命令如下:

列出标签

git tag # 在控制台打印出当前仓库的所有标签

git tag -l ‘v0.1.*’ # 搜索符合模式的标签 

#打标签

git tag v0.1.2-light

切换到标签

与切换分支命令相同,用git checkout [tagname]

查看标签信息

用git show命令可以查看标签的版本信息:

git show v0.1.2

删除标签

误打或需要修改标签时,需要先将标签删除,再打新标签。

git tag -d v0.1.2 # 删除标签

参数d即delete的缩写,意为删除其后指定的标签

给指定的commit打标签

这需要你知道某个提交对象的校验和(通过git log获取)。

补打标签

git tag -a v0.1.1 9fbc3d0

标签发布

通常的git push不会将标签对象提交到git服务器,我们需要进行显式的操作:

 git push origin v0.1.2 # 将v0.1.2标签提交到git服务器

git push origin –tags # 将本地所有标签一次性提交到git服务器

注意:如果想看之前某个标签状态下的文件,可以这样操作

git tag   查看当前分支下的标签

git  checkout v0.21   此时会指向打v0.21标签时的代码状态,(但现在处于一个空的分支上)
查看历史

查看历史命令:

显示全部的日志信息:git log 不能察看已经删除了的commit记录

显示1行日志信息: git log -pretty=oneline

显示1行的一部分:git log --oneline

显示全部信息:git reflog 可以查看所有分支的所有操作记录(包括(包括commit和reset的操作)
其他命令
查看配置 git config --list

检出到任意版本 git checkout a5d88ea

 git rebase -i HEAD~4 
这个命令,将最近4个commit合并为1个,HEAD代表当前版本。
将进入VIM界面,你可以修改提交信息。
推送到远程分支的commit,不建议这样做,多人合作时,通常不建议修改历史。

回调到上一个版本 git reset --hard HEAD^

回退错了 前进 git reflog

当文件名过长时会报错
	atal: unable to stat 'SlidingMenu/build/tmp/expandedArchives/classes.jar_9xsqkluthu17h6nhfgy4rp26h/android/support/v4/accessibilityservice/AccessibilityServiceInfoCompat$AccessibilityServiceInfoJellyBeanMr2.class': Filename too long
 during executing git -c core.quotepath=false add --ignore-errors -- SlidingMenu/build/intermediates/classes/release/com/jeremyfeinstein/slidingmenu/lib/SlidingMenu$CanvasTransformer.class

需要执行一下命令配置

git config core.longpaths true

解决git每次提交推送都要输入密码

git config --global credential.helper store

配置用户名和邮箱(只是本地git的用户名和邮箱,不是GitHub的用户名和密码)

git config --global user.name  "username"  
git config --global user.email  "email"

出现错误:fatal: refusing to merge unrelated histories
解决: git pull origin master --allow-unrelated-histories

问题
git执行 git clone 或者 git push 报以下错误:

remote: HTTP Basic: Access denied

原因
账号密码验证不通过,密码或者权限不对,导致 Git 操作失败。

解决方法一 (最有效)
输入:git config --system --unset credential.helper
再次进行 Git 操作,输入正确的用户名,密码即可。

解决方法二
输入:git config –global http.emptyAuth true
再次进行 Git 操作,输入正确的用户名,密码即可。

解决方法三
进入控制面板》用户账号》凭据管理器?windows凭据》普通凭据,在里面找到git,点开编辑密码,更新为最新密码之后就可以正常操作了。


  

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: Git revert 可以帮助用户撤销以前的提交。它可以用来撤销某个提交或者一系列提交,可以指定某一特定的提交,也可以让 Git 自动确定要撤销的提交。可以使用 git revert <commit> 命令来撤销指定的提交,该命令会创建一个新的提交来撤销之前的提交。 你也可以使用 git revert --no-commit <commit> 命令来撤销指定的提交,该命令会直接在工作目录中撤销之前的提交,而不会创建一个新的提交。 ### 回答2: git revert是一个用于撤销指定版本提交的命令,它创建一个新的提交,恢复到被撤销提交之前的状态。下面是git revert的详细使用: 1. 首先,用git log命令查看提交历史,找到需要撤销的提交的commit id。 2. 在终端中,使用git revert命令后跟着要撤销的提交的commit id,例如git revert <commit id>。 3. Git会创建一个新的提交,将被撤销提交的更改撤销,这个新提交的提交信息会自动生成。 4. 可以使用git log命令查看新的提交,确认撤销的更改是否正确。 需要注意的是,git revert只会撤销指定提交的更改,而不会删除提交历史。撤销提交后,原来的提交将会变为一个新的提交,以保持版本控制的完整性。 如果需要撤销多个提交,可以串联使用git revert命令,按照提交的顺序一次撤销。 另外,git revert还支持使用参数--no-commit,这样在执行撤销操作后,不会自动创建一个新的提交,而是将撤销的更改放入工作区,可以在撤销完所有提交后,用一次git commit命令创建一个新的提交。 总结来说,git revert是一个用于撤销指定版本提交的命令,它可以保持提交历史的完整性,非常适合在多人协作的项目中使用。 ### 回答3: git revert命令用于撤销之前的提交,并生成一个新的提交来撤销变更。它不会改变历史记录,而是在历史记录中增加一个新的反向提交。 使用git revert的一般步骤如下: 1. 首先,使用git log命令查看当前分支的提交历史,找到要撤销的提交的哈希值。 2. 使用git revert命令来撤销指定的提交,格式为`git revert [commit]`,其中[commit]是要撤销的提交的哈希值。 3. 执行git revert命令后,Git会自动生成一个新的反向提交,并打开一个编辑器以供你编辑提交说明。你可以保留默认的提交说明,或者根据需要修改。 4. 保存提交说明后,关闭编辑器。Git会自动创建一个新的提交以撤销之前的提交。 需要注意的是,如果撤销了一个提交后,你可能需要检查代码是否仍然能够正常工作,并且需要将这个新的提交推送到远程仓库以同步更改。 此外,git revert还有一些常用的选项和用法,例如: - `--no-commit`:执行撤销操作时不自动创建新的提交,而是将更改应用到暂存区,可以在后续操作中进行自定义提交。 - `--no-edit`:执行撤销操作时不打开编辑器,直接使用默认的提交说明。 - `HEAD~n`:撤销最近的n个提交,其中n是一个数字。 - `commit1..commit2`:撤销从commit1到commit2之间的所有提交。 综上所述,git revert是一个可以用于撤销提交的强大命令,帮助我们维护代码的历史记录并纠正错误。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值