git部分命令的简单使用

243 阅读4分钟

1.新建代码库

  •  git init :在当前目录初始化一个新的Git代码库。 image.png
  •  git init (project-name) :新建一个目录并初始化为Git代码库。 image.png

image.png

  •  git clone (url) :从远程仓库克隆项目及其代码历史。
  •   1.到仓库项目页 image.png

2.复制项目地址

image.png

3.克隆拉取代码 image.png

  •  git clone -b (branch-name) (url) :克隆指定分支的代码到本地。
  •  image.png
  •  image.png
  •  

2. 配置

  •  git config --list :显示当前的Git配置。

image.png

  •  git config -e (--global) :编辑Git配置文件(全局或项目配置)。
  •   1.全局配置

image.png

image.png

  •  git config (--global) user.name "(name)" :设置提交代码时的用户名。

image.png

检查

image.png

  •  git config (--global) user.email "(email address)" :设置提交代码时的用户邮箱。  image.png
  •  SSH仓库配置
  •  image.png
  •  去到上面的文件路径 查看密钥
  •  image.png

到仓库配置 image.png

  •  
  •  
  •  

3. 文件操作

  •  git add (file1) (file2) ... :将指定文件添加到暂存区。 image.png
  •  git add (dir) :将指定目录及其子目录添加到暂存区。

image.png

  •  git add . :将当前目录的所有文件添加到暂存区。 image.png
  •  git add -p :在添加每个变化前进行确认。

image.png

image.png

  •  git rm (file1) (file2) ... :删除工作区文件并将删除操作放入暂存区。 前提是已经提交到本地仓库的文件
  •   image.png
  •  git rm --cached (file) :停止追踪指定文件,文件保留在工作区。

image.png

  •  git mv (file-original) (file-renamed) :重命名文件并将操作放入暂存区。  image.png

    4. 代码提交

  •  git commit -m (message) :将暂存区的内容提交到仓库区。

image.png

  •  git commit (file1) (file2) ... -m (message) :提交指定文件到仓库区。

image.png

  •  git commit -a :提交工作区自上次commit之后的变化。 image.png
  •  git commit -v :提交时显示所有diff信息。

image.png

  •  git commit --amend -m (message) :用新的commit替代上一次提交。
  •  将新的修改添加到暂存区。假设修改了 main.js 文件
  •  git commit --amend --no-edit,--no-edit 参数表示不修改提交信息,直接将暂存区的内容合并到上一次提交中。
  •  

image.png

5. 分支管理

  •  git branch :列出所有本地分支。

image.png

  •  git branch -r :列出所有远程分支。 image.png
  •  git branch -a :列出所有本地和远程分支。

image.png

  •  git branch (branch-name) :新建一个分支但不切换。 image.png
  •  git checkout -b (branch) :新建一个分支并切换到该分支。

image.png

  •  git checkout (branch-name) :切换到指定分支。

image.png

  •  git checkout - :切换到上一个分支。 image.png
  • git branch --set-upstream-to=origin/(remote-branch) (branch):建立追踪关系。
  • 先拉一下远程分支 git fetch origin image.png
  •  git merge (branch) :合并指定分支到当前分支。 先签出,在合并

image.png

  •  git cherry-pick (commit) :将某一次的提交合并到其他分支。可能会有合并冲突 image.png
  •  git branch -d (branch-name) :删除本地分支 D强制删除。 image.png
  •  git push origin --delete (branch-name) :删除远程分支。
  •  

    6. 标签操作

  •  git tag :列出所有标签。

image.png

  •  git tag (tag) :在当前commit新建一个标签。

image.png

  •  git tag (tag) (commit) :在指定commit新建一个标签。

image.png

  •  git tag -d (tag) :删除本地标签。 image.png
  •  git push origin :refs/tags/(tagName) :删除远程标签。

image.png

  •  git show (tag) :查看标签信息。

image.png

  •  git push (remote) (tag) :提交指定标签。
  •  提交代码,生成标签 在提交指定标签

image.png

  •  git push (remote) --tags :提交所有标签。

  •  先查看,再推送 有覆盖风险 image.png

  •  git checkout -b (branch) (tag) :新建一个分支指向某个标签。

  •  从标签 v1.0.0 创建名为 zuofeng/v1.0.1 的分支

  •  image.png

  •  

    7. 查看信息

  •  git status :显示有变更的文件。

image.png

  •  git log :显示当前分支的版本历史。 image.png image.png
  •  git log --stat :显示commit历史及每次commit变更的文件。 image.png
  •  git log -S (keyword) :根据关键词搜索代码中提交历史。

image.png

  •  git log (tag) HEAD --grep feature :显示符合搜索条件的提交。 v1.0.0 到现在版本提交的-m关键词中包含的 登录的 提交

image.png image.png

  •  git log --follow (file) :显示文件的版本历史。

  •  image.png

  •  git diff (file_name/所有文件) :查看工作区与暂存区的差异。

image.png

  •  git diff --cached :查看暂存区与提交版本的差异。
  •  

image.png

  •  git diff HEAD :查看工作区与仓库中最后一次提交版本的差别。
  •  image.png
  •  

    8. 远程仓库操作

  •  git remote -v :查看远程仓库信息。

image.png

  •  git remote add <remote_name> <repository_url> :添加远程仓库。 image.png
  •  git push <remote_name> <branch_name> :推送本地分支到远程仓库。

image.png

  •  git pull <remote_name> <branch_name> :拉取远程仓库更新并合并到当前分支。 image.png
  •  git push -u origin master :推送当前分支到远程仓库并设置上游分支。

    9. 撤销操作

    •  git reset  :撤销所有暂存的文件。 image.png
  •  git reset <file_name> :撤销暂存的文件。

image.png

  •  git reset --soft HEAD~1 :撤销最近一次提交,保留代码修改。 image.png
  •  git reset --hard HEAD~1 :撤销最近一次提交,删除代码修改。

image.png

  •  git checkout --  :撤销工作区的修改。暂存区不动,工作区撤销

image.png

  •  git reflog :查看操作记录。 image.png

    10. 其他实用命令

  •  git blame <file_name> :查看文件的修改历史。

image.png

  •  git clean -n :列出未被追踪的文件

image.png

  •  git clean -f :强制删除未被追踪的文件。 image.png

  •  git clean -x -f :删除未被追踪的文件,包括.gitignore中忽略的文件。 .gitignore文件

*.log # 忽略所有 .log 结尾的文件

image.png

  •  git status -sb :简洁输出git status信息

image.png