常用的 Git 命令汇总

一、日常使用(最基本的)

常用的 Git 命令汇总

​ 一般来说,日常使用上面那几个命令就足够了,但是人无远虑必有近忧,把一些比较常用的 git 命令先整理一下,存下来总是没错的。

Reomte — 远程git仓库。
Repository — 本地仓库
Index — 暂存区
Workspace — 工作目录(工作区)
git init — 初始化本地git仓库
git add [dir] — 将工作目录中文件的代码增加到暂存区(dir 是文件名,可以用 . 表示提交所有)
git commit -m [message] — 将暂存区中的文件提交到本地仓库(message 是文件提交信息,描述本次提交了什么内容)
git checkout [dir] — 用暂存区中的文件覆盖工作目录中的文件
git push [url] [分支名称] — 将本地仓库的代码,推送到远程 git 仓库的某个分支( url 是远程仓库地址)
git clone [url] — 将远程仓库的项目代码,克隆到本地仓库中( url 是远程仓库地址)
git pull [url] [分支名称] — 拉去远程仓库中,某个分支的最新版本代码

二、基础配置

1、git config --global user.name 提交人姓名

​ 配置提交人姓名信息

2、git config --global user.email 提交人邮箱

​ 配置提交人邮箱信息

3、git config --list

​ 查看 git 的配置信息

**注意:**如果想要修改已经配置好的配置信息,只需重复执行依次以上命令即可,新的配置信息会自动覆盖旧的配置信息。

三、新建本地代码库

1、git init [project-name]

​ 在当前目录下,初始化一个git本地仓库。或者后面附加参数 project-name ,新建一个 project-name 目录,并将其初始化为git本地仓库。

四、增加/删除暂存区文件

1、git add [file1] [file2] …

​ 添加指定文件到暂存区,可以同时添加多个文件。

2、git add [dir]

​ 添加指定目录到暂存区,包括其子目录里面的内容。

3、git add . 和 git add *

​ 两者都具有将当前目录下的所有文件提交的功能,两者区别在于git add . 会把本地所有untrack的文件都加入暂存区,并且会根据 .gitignore 做过滤,但是 git add * 会忽略 .gitignore 文件,并把任何文件都加入。我们一般使用 git add . 即可。

4、git rm [file1] [file2] …

​ 删除工作目录中的文件,并将此次删除放入暂存区

5、git rm --cached [file]

​ 删除暂存区中的文件,但不影响工作目录内的文件。

6、git mv [file-original] [file-renamed]

​ 修改文件名,并将这个改名放入到暂存区。

五、提交代码到本地仓库

1、git commit -m [message]

​ 将暂存区的所有文件提交到本地仓库,message 是文件提交信息,描述本次提交了什么内容,每次提交都要填写。

2、git commit [file1] [file2] … -m [message]

​ 将暂存区中的指定文件上传到本地仓库,message 是文件提交信息,描述本次提交了什么内容,每次提交都要填写。

3、git commit -a -m [message]

​ 提交自从上次 commit 之后,工作区的发生变化的文件,不需要经过暂存区,能直接提交到本地仓库。

4、git commit --amend -m [message]

​ 重新执行一次 commit ,来替代上一次的 commit,如果代码并无变化,那就相当于改写上一次 commit 的 message,而且最重要的是提交记录里面会用这次的 commit 替代原来的 commit 记录,只会显示一次记录。

六、分支操作

1、git branch

​ 查看本地仓库所有分支。当前所在的本地分支前会带有 * ,并且字体为绿色。其他分支为白色字体。

2、git branch -r

​ 查看远程仓库的所有分支。字体颜色为红色,当前分支会在所对应的那个分支后面显示。

3、git branch -a

​ 查看本地仓库和远程仓库的所有分支。

4、git branch [branch-name]

​ 新建一个本地分支,分支名为 branch-name 。

5、git checkout -b [branch-name]

​ 新建一个本地分支,并切换到这个新建的分支。

6、git branch --track [branch-name] [remote-branch]

​ 新建一个本地分支,并与一个远程仓库的分支建立关联。

7、git checkout [branch-name]

​ 切换到指定分支,并更新工作目录。

8、git checkout -

​ 切换到上一次切换之前的分支。

9、git branch --set-upstream [branch-name] [remote-branch]

​ 将一个本地分支与远程仓库的分支建立关联。

10、git merge [branch-name]

​ 将一个指定分支合并到当前分支。

11、git branch -d [branch-name]

​ 删除一个本地分支。

12、git push origin --delete [branch-name]

​ 删除一个远程仓库的分支。

七、标签

1、git tag

​ 查看所有标签。

2、git tag [tag]

​ 新建一个标签在当前 commit 提交上。

3、git tag [tag] [commit]

​ 新建一个标签在制动 commit 提交上。

4、git tag -d [tag]

​ 删除本地的某个标签。

5、git push origin :refs/tags/[tag]

​ 删除远程的某个标签。

6、git show [tag]

​ 查看某个标签的具体信息。

7、git push [remote] [tag]

​ 提交指定标签。

8、git push [remote] --tags

​ 提交所有标签。

八、查看各种git信息

1、git status

​ 查看所有改动过或新增的文件。

2、git log

​ 查看当前分支的历史提交记录。

3、git log --start

​ 查看当前分支的提交历史,以及每次提交中发生变更的文件。

4、git log -S [keyword]

​ 根据关键词,搜索提交历史。

5、git log --follow [file]

​ 查看某个文件的版本历史,包括文件改名操作。

6、git log -p [file]

​ 查看指定文件相关的每一次 diff 。

7、git log -5 --pretty --oneline

​ 查看上5次提交。

8、git shortlog -sn

​ 查看所有提交过的用户,按提交次数排序。

9、git blame [file]

​ 查看某个文件的历史修改记录。

10、git diff

​ 查看暂存区和工作目录的差异。git status 显示你上次提交更新后的更改或者写入缓存的改动的文件, 而 git diff 一行一行地显示这些改动具体是啥。

11、git diff --cached

​ 查看暂存区和上次提交的差异。

12、git show [commit]

​ 查看某次提交的元数据和内容变化。

13、git show --name-only [commit]

​ 查看某次提交时,有哪些文件发生了变化。

九、同步远程仓库

1、git clone [url]

​ 将远程仓库的项目代码,克隆到本地仓库中( url 是远程仓库地址)

2、git fetch [remote]

​ 获取远程仓库的所有变动。

3、git remote -v

​ 显示所有远程仓库。

4、git remote show [remote]

​ 显示某个远程仓库的具体信息。

5、git remote add [shortname] [url]

​ 增加一个新的远程仓库,并为其命名一个别名。

6、git pull [remote] [branch]

​ 从远程仓库获取最新版本到本地仓库,并自动与当前分支合并。

7、git push [remote] [branch]

​ 将当前分支上传到远程仓库的某个分支。

8、git push [remote] --force

​ 无视冲突,强行将当前分支推送到远程仓库。

9、git push [remote] --all

​ 推送所有分支到远程仓库。

十、撤销操作

1、git checkout [file]

​ 将暂存区的指定文件恢复到工作区。

2、git checkout [commit] [file]

​ 将某个提交后的指定文件恢复到暂存区和工作区。

3、git checkout .

​ 将暂存区的所有文件恢复到工作区。

4、git reset [file]

​ 重置暂存区的指定文件,让其与上一次提交后一致,但是工作区不变。

5、git reset --hard

​ 重置暂存区和工作区,让其与上一次提交后一致。

6、git reset --hard [commit]

​ 重置当前分支的HEAD为指定commit,同时重置暂存区和工作区,与指定commit一致。

十一、暂时存储

1、git stash

​ 暂时提取分支上所有未提交的改动并存储,让开发人员得到一个干净的工作副本。

2、git stash pop

​ 恢复存储的改动。

十二、发布

1、git archive

​ 生成一个可供发布的压缩包。

上一篇:开源Influxdb2高性能客户端


下一篇:MySQL读写分离