0


git 总结

1.git工作区、暂存区、本地仓库、远程仓库

命令

操作

git add '文件名/文件夹名'

添加文件到暂存区

git commit -m 'message'

提交暂存区文件到仓库区

git push

上传到远程仓库

git clone 'url'

下载项目

git fetch

下载远程仓库的变动,不会自动合并和修改,用户在检查了之后决定是否合并到工作区

git pull

从远程仓库拉取代码并合并到本地的版本,自动合并修改

git checkout

切换分支

2.git pull

git pull

从远端拉取代码,更新我们的仓库。git pull --merage的简写。

git pull --rebase

将远程的最新内容拉到本地库之后直接移到到工作区

git rebase

将提交到某一分支上的所有修改都移至另一分支上。即如果在B分支上使用git rebase A就是将B分支上的修改都变基(移到)A分支上

git pull但是不覆盖修改的代码

3.git commit

git commit

git commit --amend

修改你最近的一次提交

git commit -a

提交工作区自上次提交之后的变化,直接到仓库区

git commit -v

提交时显示所有的diff信息

git commit --amend -m [message]

使用一次新的提交,替代上一次提交(如果代码没有任何变化,则用来改写上一次提交的信息)

git commit --amend

重做上一次提交且更改提交信息

git commit --amend --no-edit

补充上一次提交且不更改提交信息

4.git stash

git stash

隐藏工作现场。保存当前的工作进度,把暂存区和工作区的改动保存到一个未完结变更的堆栈中;执行完这个命令后,可以随意切换分支,git stash 是本地的不会上传到服务器上

git stash save 'message...'

添加本次草稿的注释

git stash list

查看所有的隐藏,结果为:

git stash apply n

重新显示标识为n的隐藏,n为stash list结果里面的0、1、2、3

git stash drop n

删除标识为n的隐藏。git apply恢复隐藏之后,需要手动删除list列表的记录

git stash pop

恢复最新的进度到工作区

git stash pop stash@[stash_id]

恢复指定的进度到工作区

5.git reset

git reset

删除已跟踪的文件,将已commit的回退

git reset --hard

彻底回退到某个版本,撤销工作区所有未提交的修改内容

git reset --mixed

git reset 默认方式,等同于git reset

修改内容还在,变成未add的状态,

git reset --soft

修改内容还在,变成已add未commit状态

6.git clean

git clean 用于删除工作目录中没有被tracked的文件

git clean -nxdf

查看要删除的文件及目录,确认无误后再使用下面的命令进行删除

git clean -n

不实际删除,只是进行演练,展示将要进行的操作,告诉你那些文件会被删掉

git clean -f

删除文件

git clean -i

显示将要删除的文件

git clean -d

递归删除目录及文件(未跟踪的)

git clean -q

仅显示错误,成功删除的文件不显示

7.git diff

git diff 查看修改内容

git diff

默认查看的就是工作区和暂存区之间所有文件的差异

git diff -- 文件名

查看具体某个文件在工作区和暂存区之间的差异

8.git log

git log

查看提交历史

git log --oneline

简化git log的默认输出

9.git cherry-pick

git cherry-pick 'id' 摘取某个commit_id到当前分支下,一个分支摘取另一个分支的某个commit提交

10.解决提交冲突
  1. git log 查看历史版本
  2. git reset --hard '版本id' 回退到上一个版本
  3. git pull --rebase 解决冲突
  4. git fetch 将自己提交的代码拉下来,解决出现的冲突
  5. git add '文件/文件夹' 重新add
  6. git commit 不需要再写-m
  7. git push
11.合并两次提交
  1. 在第一次提交之后继续修改工作区文件
  2. git add 将工作区提交到暂存区
  3. git commit --amend --no-edit 合并两次提交且不修改提交说明

或:git commit --amend 修改提交说明

  1. git push
12.git commit --amend 修改提交说明

修改最近一次提交的说明

i 进入编辑

esc 退出

:wq 退出该文件并保存

13.放弃本地修改,使用服务器代码覆盖本地代码

git fetch --all

git reset --hard origin/master

git pull

14.git revert 和 git reset区别

git reset会修改版本历史,会弄丢一些版本历史

而git revert 是根据commit逆向生成一个新的commit,版本历史不会被破坏

15.git commit提交信息写错了,但是还没有push,修改提交信息

git commit --amend --only 打开默认编辑器,在这里可以编辑信息

git commit --amend --only -m 'xxxxxx' 将信息修改成xxxxxx

标签: git

本文转载自: https://blog.csdn.net/weixin_51967924/article/details/136498292
版权归原作者 向飞飞(码龄1年) 所有, 如有侵权,请联系我们删除。

“git 总结”的评论:

还没有评论