git 基本命令行
本文主要对一些常用的git命令行进行了分类汇总
初始化仓库
git init
文件添加到暂存区
git add test.txt
文件提交
git commit -m "test file commint"
文件删除
git rm test.txt
与远程仓库关联
git remote add origin [email protected]:path/repo-name.git
仓库地址替换
git remote rm origin(删除本地仓库关联的远端仓库地址)
git remote add origin newUrl(添加新的仓库地址)
push内容到远程分支
git push -u origin master (首次提交,将本地git默认创建的master分支跟远程代码库关联,并push)
git push origin master(后续提交,如若远端没有这个分支,则自动新建分支)
版本回滚
git reset 共有3种模式,分别是
-
git reset –mixed 保留现有工作区,但是会用指定的commit覆盖暂存区。
-
git reset –soft 保留暂存区,但是会清空工作区。
-
git reset –hard 简单粗暴,直接使用指定的commit的内容覆盖stage区以及工作区。
git reset --hard HEAD^ 回滚到上一版本
git reset --hard HEAD^^ 回滚前到两个版本
git reset --hard 123456578 回滚到指定哈希值的版本号
撤销修改
-
尚未add的文件撤销修改
git checkout -- test.txt (撤销当前工作区的修改,返回最新暂存区的内容)
-
针对于已经add到暂存区的文件
git reset HEAD test.txt (回滚) git checkout -- test.txt (并丢弃)
-
针对已经commit,但是尚未push到远端的文件
git reset --hard HEAD^ 回滚到上一版本
分支
-
查看当前分支
git branch
-
新建分支
git checkout -b dev (新建并切换) git branch dev (新建分支) git checkout -b branch-name origin/branch-name(新建与远端对应的分支)
-
删除分支
git branch -d dev git branch -D dev (忽略警告,强制删除) git fetch -p (删除没有远程对应分支的本地分支) git push --delete origin dev (删除远程分支)
-
切换分支
git checkout master
-
切换到指定tag
git checkout tag_name
-
合并分支(merge以及rebase两种)
git merge dev (假设当前在master分支,则表示将dev合并到master上) git rebase dev(同上)
-
本地分支和远程分支做关联
git branch --set-upstream-to=origin/remote_branch your_branch
-
拉取远端最新代码
git pull
tag管理
-
新建tag
git tag v1.0.0
-
指定commit上添加tag
git tag v1.0.0 xxxxxx git tag -a v1.0.0 -m "add version 1.0.0 tag" xxxxxx (带提交的信息)
-
查看所有tag
git tag
-
查看tag信息
git show v1.0.0
-
删除tag
git tag -d v1.0.0 (删除本地) git push origin :refs/tags/v1.0.0 (再删除远端的tag)
-
push tag至远端
git push origin v1.0.0 (push 指定tag) git push origin --tags (push所有tag)
-
获取远端tag
git fetch origin tag v1.0.0 (更新tag) git pull --tags (获取远端所有的tag) git pull --all (用于解决远端tag无法再本地显示的问题)
原创文章,作者:Maggie-Hunter,如若转载,请注明出处:https://blog.ytso.com/6361.html