git 基础操作使用总结

git 基础操作使用总结

Git 创建/克隆仓库

git init

git init 命令用于在目录中创建新的 Git 仓库。在目录中执行 git init 就可以创建一个 Git 仓库了

mkdir test
cd test/
git init
# 可以在项目中看到生成的.git子目录,初始化完成

git clone

git clone 命令用于拷贝一个 Git 仓库到本地

git clone [url]

Git 提交与修改

git add

git add 命令将文件提交到暂存区

  1. 添加多个文件到暂存区:
git add [file1] [file2]
  1. 添加一个目录到暂存区:
git add [dir]
  1. 添加项目下的所有文件到暂存区:
git add .

git status

git status 命令用于查看在你上次提交之后是否有对文件进行再次修改

git status
git status -s #通常我们使用 -s 参数来获得简短的输出结果

git diff

git diff 用来比较文件的不同,即文件在暂存区和工作区之间的差异,根据不同的情况有不同的参数差异:

  1. 尚未缓存的改动:git diff
# 显示暂存区和工作区的差异
git diff [file]
  1. 查看已缓存的改动:git diff –cached
# 显示暂存区和上一次提交(commit)的差异
git diff --cached [file]
  1. 查看已缓存的与未缓存的所有改动:git diff HEAD
  2. 显示摘要而非整个 diff:git diff –stat

git commit

git add 命令将内容写入暂存区,git commit 命令将暂存区内容添加到本地仓库中:

git commit -m [message] # message可以是一些备注信息

如果只涉及文件修改,不涉及添加/删除文件,可以合并 git addgit commit 两部:

git commit -am [message]

git reset

git reset 命令用于回退版本,可以指定退回某一次提交的版本,共有 3 种参数:

  1. –mixed :默认参数,用于重置暂存区的文件与 上一次 的提交(commit)保持一致,工作区文件内容保持不变
git reset [HEAD]
  1. –soft : 参数用于回退到某个版本
git reset --soft [HEAD]
  1. –hard : 撤销工作区中所有未提交的修改内容,将暂存区与工作区都回到上一次版本,并 删除 之前的所有信息提交
git rest --hard [HEAD]

HEAD说明:

  • HEAD. 表示当前版本
  • HEAD^ 上一个版本
  • HEAD^^ 上上一个版本
  • HEAD^^^ 上上上一个版本
  • 以此类推…

可以使用 ~数字 表示:

  • HEAD~0 表示当前版本
  • HEAD~1 上一个版本
  • HEAD~2 上上一个版本
  • HEAD~3 上上上一个版本
  • 以此类推…

git rm

git rm 命令用于删除文件,可以选择从暂存区或者工作区中删除

  1. 将文件从暂存区和工作区中删除
git rm <file>

如果删除之前修改过并且已经放到暂存区域的话,则必须要用强制删除选项 -f

git rm -f <file>

如果需要删除一整个目录,可以使用 -r

git rm -r <dir>
  1. 保留工作区文件,仅删除暂存区中的内容
git rm --cached <file>

Git 远程操作

git remote

git remote 命用于在远程仓库的操作

  1. 显示所有远程仓库信息
git remote - v
  1. 显示某个远程仓库信息
git remote add [shortname] [url]
# shortname 为本地的版本库,如origin
  1. 其他相关指令
git remote rm name  # 删除远程仓库
git remote rename old_name new_name  # 修改仓库名

git fetch

git fetch 命令用于从远程获取代码库

假设你配置好了一个远程仓库,并且你想要提取更新的数据,首先执行

git fetch [alias]/[branch]

以上命令通过 Git 去获取它有你没有的数据,然后执行

git merge [alias]/[branch]

以上命令将服务器上的任何更新(假设有人这时候推送到服务器了)合并到你的当前分支

git pull


git pull 命令用于从远程获取代码并合并本地的版本,git pull 其实就是 git fetchgit merge FETCH_HEAD 的简写

git pull <远程主机名> <远程分支名>:<本地分支名>

例如,将远程主机 origin 的 main 分支拉取过来,与本地的 zachary 分支合并

git pull origin main:zachary

如果远程分支是与当前分支合并,则 :后可省略

git pull origin main

git push

git push 命用于从将本地的分支版本上传到远程并合并

git push origin master

如果本地版本与远程版本有差异,但又要强制推送可以使用 –force 参数

git push --force origin master

删除主机的分支可以使用 –delete 参数,以下命令表示删除 origin 主机的 master 分支

git push origin --delete master

Git 分支管理

git branch

git branch 是管理分支命令

创建新分支

git branch [branchname]

删除已有分支使用 -d 参数

git branch -d [branchname]

如果想查看该远程仓库包含的分支,可以直接使用 git branch 命令

git branch

git checkout

git checkout 命令用以切换分支

git checkout [branchname]

也可以使用 -b 参数来创建新分支并切换至该目录下

git checkout -b [branchname]

git merge

git merge 指令用以将某分支的独立内容合并到主分支中,首先需要切换到主分支中

git checkout [mainBranch]
git merge [subBranch]

git 基础操作使用总结
http://example.com/2021/11/08/Git使用总结/
Author
Zachary Deng
Posted on
November 8, 2021
Licensed under