git命令

git记录的是每一次对文件的修改,而不是每个文件
1.git回退至上次的commit:
首先用git log查看提交日志,从近至远的,详细的显示
每次提交成一行显示:git log --pretty=oneline
git log --graph 图表方式显示log
-p 按补丁格式显示每个更新之间的差异。
–stat 显示每次更新的文件修改统计信息。
–shortstat 只显示 --stat 中最后的行数修改添加移除统计。
–name-only 仅在提交信息后显示已修改的文件清单。
–name-status 显示新增、修改、删除的文件清单。
–abbrev-commit 仅显示 SHA-1 的前几个字符,而非所有的 40 个字符。
–relative-date 使用较短的相对时间显示(比如,“2 weeks ago”)。
–graph 显示 ASCII 图形表示的分支合并历史。
–pretty 使用其他格式显示历史提交信息。可用的选项包括 oneline,short,full,fuller 和 format(后跟指定格式)
HEAD是当前版本,HEAD是当前版本,HEAD是上一个版本,两个就是上上个,再之前的用HEAD~3,来表示
命令:git reset --hard HEAD^
这就是回退到上个版本,如果要回退到特定版本,要记住log中的commit ID,如果回退后,想重新回到最新版本,只能通过之前记住的最新版本的commit ID(比如是223344……)
命令:git reset --hard 223344 (ID不需要写全,只需要写前几位就会自动匹配)
(1)–soft:缓存区和工作目录不受影响。reset后分支和HEAD指针移动到指定的commit,代码文件内容和reset之前一样,修改部分已加入到暂存区。通常用于重新提交。
(2)–mixed:(默认)工作目录不受影响。reset后分支和HEAD指针移动到指定位置,代码文件内容和reset之前一样,修改部分未加入到暂存区。(需要重新执行git add)
(3)–hard:工作目录,缓存区均受影响。reset后分支和HEAD指针移动到指定commit,代码文件内容回退到指定commit,工作空间为clean状态。通常用于获取指定版本的代码文件。
2.git会记录每一次操作命令
命令:git reflog

3.查看本地和git中最新版本文件的差别
命令:git diff HEAD – 文件名

4.丢弃工作区的修改
命令:git checkout – 文件名
如果文件已经放入了暂存区(add了)之后又对文件作了修改,就会回退到放入暂存区时候的样子
如果文件还没放入暂存区,就会回退到和版本库一样的样子

5.丢弃暂存区的修改(把add后的文件撤回来)
命令:git reset HEAD 文件名 === git reset --mixed HEAD 文件名

6.删除文件
命令:git rm
如果真要删除一个文件,本地的git rm之后要执行commit,因为rm也是一次修改,需要把这个操作提交到git。
如果是误删,可以用git checkout – 文件名,来丢弃工作区的修改

7.创建并切换分支
命令:git checkout -b 分支名
相当于两步操作:git branch 分支名 ----> git checkout 分支名

8.合并分支,把指定分支的内容合并到当前分支上
命令:git merge 指定分支
这种合并是使用fast forward模式,删除分支后,会丢掉分支信息
以下的命令会拒绝使用fast forward模式,gitlab上的merge就是这种
命令:git merge --no-ff -m “commit xxx” 指定分支

9.删除分支
命令:git branch -d 已合并的分支
git branch -D 任意想删除的分支

10.查看代码状态
命令:git status
合并时有文件冲突,也可以用它来查看冲突文件,手动修改后,再add和commit

11.在一个分支工作时,需要切回master分支再新建一个分支去工作,此时可以在本分支上执行:
命令:git stash
来储存当前工作区。在另一个分支工作完后,切回本分支,从stash中取回工作区
命令:git stash list 查看stash的列表
命令:git stash apply 恢复工作区,不删除stash中内容
命令:git stash drop 删除stash中内容
命令:git stash pop 恢复工作区且删除stash中内容

12.建立本地分支和远程分支的联系,没有关联的时候git会有提示:no tracking information
命令:git branch --set-upstream 本地分支 origin/远程分支

13.打标签,只是在本地上打了标签,之后要推送到远端
命令:git tag 标签名
默认是在此次commit上打标签。也可以选择某次commit
命令:git tag 标签名 commitID
指定标签信息
命令:git tag -a 标签名 -m “xxxx”
删除标签
命令:git tag -d 标签名 删除本地标签
命令:git push origin :refs/tags/标签名 删除远端标签
推送标签
命令:git push origin 标签名
命令:git push origin --tags 推送所有未推送的标签

14.添加已被.gitignore忽略的文件
命令:git add -f 文件名
也可以查看.gitignore中是哪条规则限制了添加
命令:git check-ignore -v 文件名

15.给命令设置简写
命令:git config --global alias.简写 要简写的命令
当前仓库设置好的东西在.git/config文件中
使用–global之后的配置文件在用户主目录的隐藏文件.gitconfig文件中

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值