... Rei ...
... cjlmonster@163.com ...
... 白开水与方便面 ...
... Rei ...
... cjlmonster@163.com ...
... 白开水与方便面 ...
2021-06-09 约 521 字 预计阅读 3 分钟 Git
git 的仓库配置有三个地方,分别是:
git config --local [ -l | --list ] | 查看当前仓库配置 |
git config --global [ -l | --list ] | 查看用户配置 |
git config --system [ -l | --list ] | 查看系统配置 |
git config --local user.name mint | 配置当前仓库的用户名为 mint |
git config --local user.email mint@163.com | 配置当前仓库的邮箱为 mint@163.com |
git config --local user.name | 置当前仓库的用户名 |
git config --local user.email | 配置当前仓库的邮箱 |
git创建仓库两种方式,分别是:
$ git init [--bare] [directory]
git init
。git init [directory]
,[directory] 替换成目标目录。ps: 加上参数 --bare,即git init --bare
,顾名思义,生成一个裸仓库,一般用于服务器端搭建远程Git服务器使用,这种方式创建的仓库,不会生成 .git 目录,而是直接把 .git 目录里原本要生成为文件和文件夹放到仓库根目录里,因此它是没有工作区的,只会记录git提交的历史信息,git log一下是可以看到各个版本信息的,但是没办法进行版本回退或者切换分支的操作,维护了远程仓库的“干净”,反正远程仓库只用于共享,也没必要远程登录去操作仓库。
拷贝远程仓库到本地
$ git clone [repository] [directory]
[repository] | 远程仓库链接,支持HTTPS和SSH | 必填 |
[directory] | 远程仓库的新目录名 | 可选 |
查看仓库当前的状态,显示有变更的文件
添加已修改的文件到暂存区
常用指令
git add [file1] [file2] [file3] … | 添加已修改文件到暂存区,多个文件以空格间隔 |
git add [dir] | 添加指定目录到暂存区,包括子目录 |
git add . | 添加所有已修改文件到暂存区 |
git add -A | 同 git add . |
提交暂存区到工作区
git commit -m [message] | 提交暂存区到本地仓库中,[message] 可以是一些备注信息,备注信息含有空格或一些特殊字符时,要加引号,在Linux系统中用单引号,Windows用双引号 |
git commit [file1] [file2] … -m [message] | 提交暂存区的指定文件到仓库区,多个文件以空格间隔 |
当文件已添加到暂存区或工作区时,可用这个命令进行删除
git rm | 从分支里删除指定文件。支持通配符,如删除所有.txt文件,可以这样输入git rm *.txt ,下面命令同 |
git rm -f | 从暂存区删除指定文件 |
git rm --cached | 从暂存区或分支里移除文件下来,放回工作区,不删除 |
git rm –r * | 可以递归删除,即如果后面跟的是一个目录做为参数,则会递归删除整个目录中的所有子目录和文件 |
移动或重命名一个文件、目录或软连接
git mv [file] [newfile] | 移动或重命名一个文件、目录或软连接 |
git mv -f [file] [newfile] | 如果新文件名已经存在,但还是要重命名它,可以使用 -f 参数 |
git diff [file] | 当文件已修改时还未添加到暂存区,则显示与暂存区或工作区的差异 |
git diff --cached [file] | 当文件已被修改且已添加到暂存区,则显示暂存区和上一次提交(commit)的差异 |
用于回退版本,可以指定退回某一次提交的版本
$ git reset [--mixed | --soft | --hard] [HEAD]
--mixed | 用于重置暂存区的文件与上一次的提交(commit)保持一致,工作区文件内容保持不变。默认选项,可以不填 |
--soft | 撤销工作区中所有未提交的修改内容,将暂存区与工作区都回到上一次版本 |
--hard | 撤销工作区中所有未提交的修改内容,将暂存区与工作区都回到上一次版本,并删除之前的所有信息提交(慎重操作) |
HEAD 说明:
可以使用 ~数字表示
git reset [commit id]
git log
命令查看
如上图所示,类似 “commit 04c213e8842fe55b2f6895598b5151cdaee209e9” 里的 “04c213e…”就是某次提交的 commit id,想要回退到这个版本,可以输入commit id,即git reset 04c213e
,commit id 可以不用写全,写前面几位就可以,当然也不能太少,至少5位吧
git reset HEAD
查看历史提交记录,存在多个记录时,以分页显示,按空格加载更多,按q退出查看。想要查看最新的提交记录git log -1
,查看上一条记录git log -2
,查看上上条记录git log -3
,以此类推
以列表形式查看指定文件的历史修改记录。
$ git blame
$ git remote add [remote name] [url]
$ git push -u origin master
git remote add
添加的远程仓库的别名$ git remote show [remote name]
$ git remote -v
$ git remove rm [remote name]
$ git remote rename old_name new_name
git fetch <remote name>
git fetch <remote name> <remote branch name>
git log -p FETCH_HEAD
git merge FETCH_HEAD
,合并到其它分支,就先切换到别的分支上,在执行合并命令$ git pull [remote name] [remote branch name]:[local branch name]
$ git pull [remote name] [remote branch name]
$ git push <remote name> <local branch name>:<remote branch name>
#####如果本地分支名与远程分支名相同,则可以省略冒号#####
$ git push <remote name> <local branch name>
$ git push --force <remote name> <local branch name>:<remote branch name>
#####如果本地分支名与远程分支名相同,则可以省略冒号#####
$ git push --force <remote name> <local branch name>
$ git push <remote name> --delete <remote branch name>
###或不加 --delete 参数###
$ git push <remote name> :<remote branch name>
$ git branch [-r]
$ git branch <branch name>
$ git branch -d <branch name>
$ git checkout <branch name>
$ git checkout -b <branch name>
git merge
命令合并其它从分支$ git merge <branch name>
主题色
主色
强调色