创建git仓库
命令:git init
描述:创建一个可以容纳资源(物件)的容器(仓库)
往仓库旁边的暂存区中存放物件(资源)
命令:git add [文件名]
描述:将文件资源(物件)交给容器(仓库)管理员(暂存区)说,这个资源(物件)以后是要入容器(仓库)的;
将暂存区中的物件(资源)往仓库中存放
命令:git commit -m [本次提交的注释]
描述:告诉容器(仓库)资源(物件)之前的所有状态的改变进行一个快照(照相机照一张图片);并将文件资源(物件)交给容器(仓库)管理员(暂存区)说,这个资源(物件)以后是要入容器(仓库)的;
往仓库中存放物件(资源)
命令:git diff "文件名"
描述:当前修改的文件资源(物件)与容器(仓库)中的文件资源(物件)的的比较
查看容器(仓库)的提交历史记录
命令:git log / git log --pretty=online git log --graph
描述:查看git的提交历史记录
git回退到指定版本(时光穿梭机)
命令:git reset --hard [commit_id]
描述:查看git的提交历史记录
备注:在git的世界中:HEAD 代表当前版本,HEAD^ 代表上一个版本 HEAD^^ 代表上上一个版本 HEAD~100 代表上100个版本;git reset HEAD "文件名" 可以把暂存区的修改撤销掉(unstage) 重新放回工作区
git查看命令历史
命令:git reflog
描述:查看历史命令,以便确认要回到未来的哪个版本
git撤回修改
命令:git checkout [文件名]
描述:把对应的文件在工作区的修改全部撤销
备注:
场景一:对应的文件修改后还没有放到暂存区中;撤销修改会回到和版本库一模一样的状态
场景二:对应的文件修改后放到了暂存区中,又再次的进行了修改;撤销修改会回到添加到暂存区后的状态
总结:让文件回到最后一次git commit 或者 git add 时的状态
git删除文件
命令:git rm [文件名]
描述:从版本库中移除对应的文件,并将工作区的文件也删除掉
远程仓库
列出已经存在的远程库
命令:git remote
描述:列出已经存在的远程库
列出已经存在的远程库
命令:git remote -v / git remote --verbose
描述:列出已经存在的远程库的详细信息;在每一个名称后面列出其远程URL
添加远程仓库
命令:git remote add [远程库名称] [URL]
描述:远程库名称是对远程库的一个引用(即名称代表着URL所指向的远程库),
修改远程仓库
命令:git remote rename [原名称] [目标名称]
描述:即将原名称修改为目标名称
修改远程仓库
命令:git remote rm [远程库名称]
描述:移除指定名称的远程库
分支管理
创建并切换到对应的分支
命令:git checkout -b [分支名]
描述:创建分支并切换到创建的分支上
创建分支
命令:git branch [分支名]
描述:创建分支
远程库先开好分支然后拉取到本地
命令:git checkout -b [分支名] [远程库]/[分支名]
描述:将远程库中已经开好的分支拉取到本地
本地先开好分支然后推送到远程
命令:git checkout -b [分支名] (创建分支) git push [远程库] [本地分支名]:[远程库分支名]
描述:将远程库中已经开好的分支拉取到本地
切换分支
命令:git checkout [分支名]
描述:切换到对应的分支上
查看所有分支
命令:git branch / git branch -r(查看远程所有分支)
描述:查看所有的分支
备注:当前分支前面会标记一个 * 号
合并分支
命令:git merge [分支名]
描述:将对应分支的内容合并到master中
备注:
合并时如果出现"Fast forward"提示时;这种场景下Git只是将master分支指针直接右移; 如果不想使用"Fast forward"策略可以在merge时使用--no-ff参数更改为普通策略;eg: git merge --no-ff -m "merge时添加的描述信息" [分支名]
"Fast forward"策略合并后看不出曾经做过合并;普通策略可以
删除分支
命令:git branch -d [分支名] / git branch -D [分支名](强制删除)
描述:删除分支
stash(数据存储)
将当前工作现场储存起来
命令:git stash
描述:将当前工作现场储存起来,等以后恢复现场后继续工作
展示工作现场的储存列表
命令:git stash list
描述:查看当前工作区的储存列表
恢复工作现场
命令:git stash apply / git stash apply stash@{0}(恢复指定的现场)
描述:恢复stash内容
备注:恢复后stash内容不会被删除
删除工作现场
命令:git stash drop
描述:删除stash内容
恢复并删除工作现场
命令:git stash pop
描述:恢复并删除stash内容
备注:恢复后stash也会被删除
标签管理
git查看标签列表
命令:git tag
描述:查看标签列表
git打标签
命令:git tag [name] / git tag -a [tagname] -m [标签描述信息] [commit_id]
描述:git打标签
git给指定commit_id打标签
命令:git tag [name] [commit_id]
描述:git给指定的commit_id打标签
git将本地标签推送到远程库
命令:git push [远程库] [tagname] / git push [远程库] --tags (将本地所有的标签推送到远程库)
描述:将指定标签名推送到指定的远程库上
git查看标签信息
命令:git show [tagname]
描述:展示对应标签的信息
git删除标签
命令:git tag -d [tagname]
描述:删除指定名字的标签
git删除远程库上的标签
命令:git push [远程库] :refs/tags/[tagname]
描述:删除远程库上指定名字的标签
网友评论