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 命令将文件提交到暂存区
- 添加多个文件到暂存区:
git add [file1] [file2]
- 添加一个目录到暂存区:
git add [dir]
- 添加项目下的所有文件到暂存区:
git add .
git status
git status 命令用于查看在你上次提交之后是否有对文件进行再次修改
git status
git status -s #通常我们使用 -s 参数来获得简短的输出结果
git diff
git diff 用来比较文件的不同,即文件在暂存区和工作区之间的差异,根据不同的情况有不同的参数差异:
- 尚未缓存的改动:git diff
# 显示暂存区和工作区的差异
git diff [file]
- 查看已缓存的改动:git diff –cached
# 显示暂存区和上一次提交(commit)的差异
git diff --cached [file]
- 查看已缓存的与未缓存的所有改动:git diff HEAD
- 显示摘要而非整个 diff:git diff –stat
git commit
git add 命令将内容写入暂存区,git commit 命令将暂存区内容添加到本地仓库中:
git commit -m [message] # message可以是一些备注信息
如果只涉及文件修改,不涉及添加/删除文件,可以合并 git add 和 git commit 两部:
git commit -am [message]
git reset
git reset 命令用于回退版本,可以指定退回某一次提交的版本,共有 3 种参数:
- –mixed :默认参数,用于重置暂存区的文件与 上一次 的提交(commit)保持一致,工作区文件内容保持不变
git reset [HEAD]
- –soft : 参数用于回退到某个版本
git reset --soft [HEAD]
- –hard : 撤销工作区中所有未提交的修改内容,将暂存区与工作区都回到上一次版本,并 删除 之前的所有信息提交
git rest --hard [HEAD]
HEAD说明:
- HEAD. 表示当前版本
- HEAD^ 上一个版本
- HEAD^^ 上上一个版本
- HEAD^^^ 上上上一个版本
- 以此类推…
可以使用 ~数字 表示:
- HEAD~0 表示当前版本
- HEAD~1 上一个版本
- HEAD~2 上上一个版本
- HEAD~3 上上上一个版本
- 以此类推…
git rm
git rm 命令用于删除文件,可以选择从暂存区或者工作区中删除
- 将文件从暂存区和工作区中删除
git rm <file>
如果删除之前修改过并且已经放到暂存区域的话,则必须要用强制删除选项 -f
git rm -f <file>
如果需要删除一整个目录,可以使用 -r
git rm -r <dir>
- 保留工作区文件,仅删除暂存区中的内容
git rm --cached <file>
Git 远程操作
git remote
git remote 命用于在远程仓库的操作
- 显示所有远程仓库信息
git remote - v
- 显示某个远程仓库信息
git remote add [shortname] [url]
# shortname 为本地的版本库,如origin
- 其他相关指令
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 fetch 和 git 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]