阅读 89

git 常用命令

GIT常用操作

  • 初始化仓库: git init 在当前目录下创建.git目录,同时当前目录成为一个Git仓库。

  • 下载代码git clone Git仓库url:将http或ssh链接指向的Git仓库拷贝到本地。

  • git add 文件:将文件添加到缓存区,该文件被标记为被追踪。

  • 添加到暂存区git add .:缓存当前目录下所有文件,不包括已删除的文件。 注意,git add只是复制一份当前状态下的该文件到缓存区,该文件之后的修改若不重新git add,则提交的时候,只会将上次git add的缓存提交给仓库。

  • 提交到远程仓库git commit -m "本次提交说明":一次性将缓存区所有文件修改提交到仓库的当前分支。

  • git commit -am "本次提交说明":自动把所有已经跟踪过的文件缓存,并提交到仓库。常用于跳过git add步骤快速提交。

  • git commit --amend "本次提交说明":重新提交。此次提交代替上一次提交的结果。尤其适用于提交完了才发现漏掉了几个文件没有添加,或者提交信息写错了的情况。 git add是工作区->缓存区,git commit是缓存区->仓库。

  • 查看状态git status:显示当前仓库的最新状态。

  • git status -s:当前仓库的最新状态的简介。

  • git diff:比较工作区和缓存区的不同。

  • git diff --cached:比较缓存区和仓库的不同。

  • git diff 文件:比较指定文件在工作区和缓存区的不同。

  • git diff 文件 --cached:比较指定文件在缓存区和仓库的不同。

  • git show:查看最后一个提交的内容。

  • git show HEAD~1:查看倒数第二个提交的内容。

  • git show 提交版本号:查看指定提交的内容。

  • 查看暂存区提交 git ls-files

    • --cached (-c) 查看暂存区中文件,git ls-files 命令默认是此命令
    • --midified (-m)查看修改的文件
    • --delete (-d)查看删除过的文件
    • --other (-o)查看没有被git跟踪的文件
    • --stage (-s) 显示mode以及文件对应的Blob对象,进而我们可以获取暂存区中对应文件里面的内容。
  • git rm 文件:把文件从版本库中删除,不再跟踪。

  • 将文件从暂存区删除 git rm -f 文件:当文件有未提交的缓存区修改时,直接使用git rm 文件会报错。此时执行此命令可强制将文件从缓存区和版本库中删除。

  • git rm --cached 文件:把文件从版本库中删除,但让文件保留在工作区且不被Git继续跟踪。通常适用于rm文件之后把其添加到.gitignore中。

  • git checkout -- 文件:丢弃工作区的修改。此文件必须是Git跟踪的。

  • git reset HEAD 文件:丢弃缓存区的修改,回退到工作区。

  • git reset --hard:重置所有文件到上次commit的状态。

  • git reset --hard HEAD~1:将当前分支重置为倒数第2个版本。

  • git reset --hard 提交版本号:将当前分支重置为指定版本。

  • git log:显示从最近到最远的提交日志。包含每个提交的SHA1校验和、作者的名字和邮箱、提交时间以及提交说明等。

  • git log --oneline:git log的简要版

  • git log --decorate:不仅输出git log的信息,还带标签等额外信息。

  • git log --graph 不仅输出git log的信息,还可查看当前分支什么时候出现了分支、合并。

  • git log 分支名:查看指定分支的提交日志。

  • git log 要查看的分支名branchA ^要忽略的分支名branchB:查看branchA的日志信息(排除branchB的信息)

  • git tag:查看所有标签。注意:标签不是按时间列出,而是按字母排序。

  • git show <tag-name>:查看指定标签的信息。

  • git tag <tag-name> <commit-id>:在指定版本号上打上标签。

  • git checkout <tag-name>:切换到指定标签。

  • git push --tags:将标签推送给远程仓库。

  • git remote add <shortname> <url>:添加并关联一个远程库。shortname一般为origin。

  • 提交到远程git push <remote-repo-shortname> <local-branch>:将本地分支推送到远程仓库。

  • 拉取分支代码git pull <remote-shortname> <local-branch>:拉取远程仓库最新提交,并合并到指定的本地分支上。

  • git fetch:拉取远程仓库最新提交,但不会自动合并分支。

  • 查看本地分支git branch:列出本地分支列表。当前分支前会标有*号。

  • 查看远程分支git branch -r:列出远程分支列表。

  • 查看所有分支git branch -a:列出所有分支列表。

  • git branch 分支:创建新分支。

  • 删除本地分支git branch -d 分支:删除指定分支。

  • git branch -v -a:查看所有分支的最后一次提交。

  • 切换分支git checkout 分支:切换到指定分支。

  • 创建本地分支并切换git checkout -b 分支:创建并切换到指定分支。

  • 创建本地分支并拉取远程分支git checkout -b [本地分支名] origin/[远程分支名]:拉取远程分支代码到本地分支,可直接提交到对应的远程分支。

  • 合并分支git merge [目标分支] [带合并分支]:将指定分支合并到当前分支上。 可用git status -s查看冲突文件,状态标识为UU。

  • git config --list:列出所有配置信息。

  • git config <key>:检查关键字key的配置。如git config user.name,查看姓名配置。

  • git config --global alias.命令别名 命令:为指定命令配置一个别名,可快速输入命令。

  • git config --global alias.unadd 'reset HEAD':使用git unadd 文件可丢弃指定文件在缓存区的修改。

  • git config --global alias.st status:使用git st代替git status。

  • git config --global alias.co checkout:使用git co代替git checkout。

  • git config --global alias.cm commit:使用git cm代替git commit。

  • git config --global alias.br branch:使用git br代替git branch。

  • git lg:输出高逼格的日志

  • git last:查看最近一条日志

gitignore

配置语法:

  • 以斜杠“/”开头表示目录;
  • 以星号“*”通配多个字符;
  • 以问号“?”通配单个字符
  • 以方括号“[]”包含单个字符的匹配列表;
  • 以叹号“!”表示不忽略(跟踪)匹配到的文件或目录;
文章分类
前端
文章标签