程序猿必备-git的常用操作
其他
2020-09-07 13:16:29
阅读次数: 0
git的使用
1.初始化
- git init初始化本地仓库,初始化后便与远程仓库进行关联,可以进行git clone等操作
克隆或者拉取分支
- git clone xxx 克隆远程仓库的文件到本地
- git pull xxx 从远程获取最新版本并merge到本地
- git fetch xxx 从远程获取最新到本地,不会自动merge
分支
- git branch 查看所有分支与当前使用的分支
- git branch -a 查看远程仓库的分支
- git checkout xxx 新建一个分支并保留在当前分支上
- git checkout -b xxx 新建一个分支并且切换到新建的分支上去
- git push origin [远程名] :[分支名] example: git push origin :v0.13
2.文件对比
- git status查看当前文件的状态,本地文件与本地仓库文件对比,从而得出是否改动
- git diff 对比本地仓库中的文件与当前本地文件的差别
3.文件提交
- git add 添加本地文件到本地仓库
- git commit -m 'xxx(文件提交信息)'将本地文件提交到本地仓库中
- git commit --amend 保留上一次的提交和提交信息,得到一次线性的提交
- git push --force-with-lease origin master 将amend修改的信息重新提交(如果远端有其他人推送了新的提交,那么推送将被拒绝,这种拒绝和没有加 --force 参数时的拒绝是一样的,会覆盖别人的提交)
- git push origin HEAD:refs/for:xxx 将本地仓库的文件推送到远程仓库
4.时空穿梭
- git reset --soft 版本号|HEAD^次数 实现软回滚,只将远程仓库的推送回滚到原来的版本,而本地仓库还是保留当前提交的版本信息
- git reset --hard 版本号| HEAD^次数 实现硬回滚,只将远程仓库的推送回滚到原来的版本,并且本地仓库也回滚到原来提交的版本信息
- git revert 用法同上 只是生成一个新的提交来撤销某次提交,此次提交之前的commit都会被保留
5. 查看提交信息
- git log 查看commit的版本信息
- git reflog 查看所有版本的commit ID
6. 更新本地仓库的文件
- git checkout 文件 用暂存区中的内容或者版本库中的内容覆盖掉工作区
分支合并
- git merge b 将b分支合并到当前分支上,但是会保留原来分支的历史记录并且记录合并的分支
- git rebase b 将b分支合并到当前分支,但合并后就感觉是在一个分支上进行开发的,得到一个线性的开发分支
- git cherry-pick commitID 将其他分支的commit线性变基到当前分支的最新commit,从而能够获取到其他分支的代码,保证了当前分支也会拥有其他分支的代码
7.代码拉取
- git fetch 拉取远端的代码,并且不会进行自动merge,存在冲突的话需要自己解决
- git pull 拉取远端的代码,会使用自动合并策略进行冲突合并,相当于git fetch + git merge功能
8. tag功能
- git tag 标签可以针对某一时间点的版本做标记,常用于版本发布,用来标记某一个重要的发布版本
转载自blog.csdn.net/weixin_42418196/article/details/108445537