Git及Github相关使用

git 基本命令使用(工作区->版本库.git ->远程库)

参考:B站小人物_zzs

git撤销 git push origin master

git log //查看所有提交的版本号

git reset --soft <版本号> //选择这次提交之前的版本号

git log //查看是否成功撤销

git push origin master --force //强制提交当前版本号,以达到撤销的目的,个人开发时可以使用,团队开发不可以

git拉取远程分支、开发完合并到主分支

https://blog.csdn.net/change_on/article/details/104521751 https://blog.csdn.net/change_on/article/details/104521751

git版本穿梭及查看

git diff +文件名 //查看修改

git log //显示从最近到最远的提交日志,打开无法退出时,输入q即可

git log --pretty=oneline //简易显示从最近到最远的提交日志

git reset //历史版本穿梭

git reset --hard HEAD^ //退回上一个版本

git reset --hard HEAD^^ //退回上两个版本

git reset --hard HEAD~100 //退回上100个版本

git reset --hard +commit id //退回历史版本

git reflog //查看历史命令

git删除,丢弃和恢复修改

git diff HEAD -- readme.txt //查看工作区和版本库里面最新版本的区别(readme.txt是例子)

git checkout -- //丢弃工作区的修改

git reset HEAD //把暂存区(在版本库.git中)的修改撤销

git rm //从版本库中删除该文件

通过git rm 删除的文件,找回:

​ 1.git reset HEAD

​ 2.git checkout --

github远程仓库的添加,克隆和删除

git窗口输入:

ssh -keygen -t rsa -C "youremail@example.com"

然后把本机生成的.ssh文件夹下的公钥文件id_rsa.pub复制到github的SSH连接中,这样远程连接就OK了。

本地项目上传github

git remote add origin +github项目链接 //本地项目和远程连接并命名为origin

git push -u origin master //第一次将本地仓库推送到远程仓库

git remote -v //查看远程库信息

git remote rm origin //origin有冲突时,删除origin

远程仓库下载本地

git clone +地址//从服务器端克隆代码
git init//初始化仓库
git remote add origin +地址//给地址起个别名origin
git add .//添加文件到本地仓库
git commit -m ""//提交日志
git push origin master//提交到服务器
git remote rm origin//删除之前origin代表的别名

创建合并分支

git branch //查看分支

git branch //创建分支

git checkout 或 git switch //切换分支

git checkout -b 或 git switch -c //创建+切换分支

git merge //合并某分支到当前分支

git merge --no-ff -m ”“ +合并分支 //合并分支,保留分支信息

git branch -d //删除分支

解决本地分支合并冲突

分支冲突:主分支和次分支都进行了修改并提交到新版本下,如何合并?

git merge //合并某分支到当前分支下

合并出现问题时,git status 查看合并冲突文件

​ 1.手动解决冲突

​ 2.再次提交git add,git commit

git log --graph --pretty=oneline --abbrev-commit //建议查看合并分支情况

git log --graph //详细查看分支合并情况

分支管理及bug修复策略

master分支:主分支,稳定分支,仅用来发布新版本,平时不能用来干活。

dev分支:干活分支,不稳定,发布版本时,将dev分支合并到master分支。每个人都有自己的干活分支,时不时往dev分支合并就可以了。

bug分支:当前在dev分支正在工作时(未提交),在master分支解决临时bug,需要保护dev分支工作现场,对bug建立新的临时分支来修复,修复后,合并分支,再将bug分支删除,最后回到dev分支,回复之前dev的保护现场。

git stash //存储当前工作现场,等以后恢复现场继续工作

git stash list //查看git stash 存储的修改列表

git stash apply //恢复指定的stash 例:git stash apply stash@{0}

git stash drop //删除指定的stash 例:git stash drop stash@{0}

git stash pop //回复stash内容并删除stash

git cherry--pick //在master分支上修复的bug,合并到当前dev分支

git branch -D //丢弃一个没有被合并的分支,强制删除分支

本地与远程交互(多人协作)

git remote -v //查看远程库信息,本地新建的分支如果不推送到远程,随其他人是不可见的

git push origin master //向远程推送主分支

git push origin +branchname //向远程推送次分支

从远程库clone下,默认情况下,只能看到本地master分支

git checkout -b branchname origin/branchname //在本地创建和远程分支对应的分支 如git checkout -b dev origin/dev

推送失败,可能你的小伙伴的最新提交和你试图推送的提交有冲突,解决办法就是先用git pull 把最新的提交从origin/dev抓下来,然后再本地解决,重新提交,再推送。

git pull origin dev//从远程抓取分支

git branch --set-upstream branchname origin/branchname //建立本地分支和远程分支的关联(先建立在关联)

多人协作工作模式

  • 首先可以视图用git push origin branchname 推送自己的修改。
  • 推送失败,先用git pull拉下远程分支,试图合并。
  • 合并有冲突,解决冲突,本地提交。
  • 在使用git push origin branchname.

创建标签

git log --pretty=oneline --abbrev-commit //查看历史提交

git tag //建立一个标签,默认为HEAD指向版本

git tag //指定历史提交打标签

git show //查看标签信息

git tag -a -m "" //指定标签信息re

git tag //查看所有标签

操作标签(远程仓库)

git push origin //推送本地标签到远程

git push origin --tags //推送本地所有未推送过的标签到服务器

git tag -d //删除本地标签

git push origin :refs/tags/ //删除远程标签,注意删除前需要先删除本地标签。

特殊文件忽略

忽略某些文件是,需要编写.gitignore。

.gitignore文件本身需要放到版本库里(git add,git commit),并且可以对.gitignore做版本管理

在.gitignore中输入想要忽略的文件夹和文件名字

git别名及比较工具使用

git config --global color.ui true //git关键字高亮

git config --global alias //全局配置别名

git config alias //当前仓库起别名

posted @ 2020-03-24 17:20  lijiahaoAA  阅读(103)  评论(0编辑  收藏  举报