Git学习笔记—米阳MeYoung
2020-10-16 09:56:44 0 举报
AI智能生成
Git 学习笔记—米阳MeYoung
作者其他创作
大纲/内容
获取帮助
获取帮助:git --help
内容参考来源:http://www.liaoxuefeng.com/wiki/0013739516305929606dd18361248578c67b8067c8c017b000
全局设置(.gitconfig)
设置全局用户信息(--global)
$ git config --global user.name "your_name"
$ git config --global user.email your_email
设置文本编辑器 $ git config --global core.editor 文本编辑器名
查看配置信息
查看所有:git config --list
查看某项:git config user.name
创建版本库
初始化: git init
添加文件
步骤1:git add <file> 可以反复使用,添加多个文件,把文件提交到暂存区
添加所有文件:git add *
步骤2:git commit 提交
git commit -m <有意义的提交说明> eg: git commit -m "提交XXX修改",提交到当前分支
跳过暂存区提交所有跟踪文件:git commit -a
时光机穿梭
删除文件
删除
步骤1:git rm file_name
步骤2:gti commit -m “有意义的提交说明”
撤销删除:git checkout -- file_name
使用glob模式:$git rm log/\*.log 删除log目录下所有.log结尾文件
移动文件:git mv file_from file_to
查看仓库状态:
完整模式:git status
简洁模式:git status -s
查看变动
比较暂存区和本地文件的差异:git diff
比较仓库和暂存区的差异:git diff --cached
等同于git1.6.1开始版本的:git diff --staged
比较仓库和本地的差别:git diff HEAD
查看当前版本前历史记录:git log
简约模式:git log --pretty=oneline
查看所有历史版本:git reflog
查看最近两次提交的差异内容:git log -p -2
查看最近两次提交的所有修改过的文件:git log --stat -2
根据时间段等去查看log
撤销修改
撤销本地的修改:git checkout -- file_name
本地修改,还提交到暂存区进行撤销
步骤一:git reset HEAD file_name,撤销暂存区修改
步骤二:git checkout -- file_name ,插销本地修改
已提交到仓库,回退版本
回退到上一个版本:git reset --hard HEAD^
回退到指定版本:git reset --hard commit_id
远程仓库
本地创建和gitHub关联的仓库
步骤1:上GitHub上创建一个用户,https://github.com/
步骤2:本地创建SSH Key,ssh-keygen -t rsa -C "youremail",然后一路回车,最后可以在用户主目录下发现个.ssh目录,并有id_rsa和id_rad.pub两个文件,其中id_rsa是私钥,不能泄露出去,id_rsa.pub是公钥,可以放心地告诉任何人
步骤3:登录GitHub,打开个人头像“settings”,点击SSH Keys,添加任意title的key,其中key值为id_rsa.pub中的内容
添加远程仓库
步骤1:登陆GitHub,点击“new repository”
步骤2:在“Repository name”输入你的项目名称,别的默认
步骤3:点击“Create repository”便新建完成一个空的新仓库。这时跳转界面会提示你可以从这仓库克隆出新的仓库,也可以把一个已有的仓库与之关联
步骤4:添加本地关联到远程库
在本地仓库中,执行:git remote add origin https://github.com/MeYoung/TestGit.git(根据具体的步骤3执行后的结果来)
步骤5:推送本地仓库到远程仓库上
git push -u origin master(默认都用origin来表示远程库)
第一次推送用上方方式,以后都可以直接用:git push origin master
从远程库克隆
步骤1:GitHub上新建个远程库
步骤2:git clone https://github.com/MeYoung/TestGit.git (git支持多种协议,包括https,但是通过ssh原生的git协议速度最快)
分支管理
创建和合并分支
查看分支:git branch,当前分支前面会有*标识
创建分支:git branch <branch_name>
切换分支:git checkout <branch_name>
创建+切换分支:git checkout -b <branch_name>
合并某分支到当前分支:git merge <branch_name>
删除分支:git branch -d <branch_name>
解决冲突
git使用<<<<<<<,=======,>>>>>>>标记出不同分支的内容
查看分支合并图:git log --graph,eg:git log --graph --pretty=oneline --abbrev-commit
分支管理策略
git合并分支通常使用Fast forward 模式,这种模式删除分支后会丢掉分支信息,合并后就看不出曾经做过合并
禁用Fast forward模式,git会在merge时生成一个新的commit,禁用ff用:--no-ff,eg: git merge --no-ff -m "提交的信息" 分支名
stash 功能
当无法提交当前代码到分支上,又急需要从另一分支上修改某个代码(bug),git 的stash功能,就可以把当前的工作“储藏”起来,等以后恢复现场继续工作
储藏:git stash
查看储藏:git stash list
恢复储藏
方法1:git stash apply,但是使用该方法恢复,stash内容并没删除,需要用 git stash drop来删除
方法2:git stash pop,恢复的同时删除stash内容
多次储藏恢复:git stash apply stash@{id}
强制删除未合并的分支:git branch -D 分支名
查看远程仓库信息
git remote
详细模式:git remote -v
从远程仓库获取最新:git pull
推送分支到远程仓库
eg推送本地dev到远程的dev分支:git push origin dev
在本地创建和远程分支对应的分支,使用git checkout -b branch-name origin/branch-name,本地和远程分支的名称最好一致
建立本地分支和远程分支的关联,使用git branch --set-upstream branch-name origin/branch-name
标签管理
查看标签:
git tag
git tag -l ‘v1.8.5*’只列出标签名v1.8.5相关的标签
打标签
默认打在最新的commit上:git tag <tag_name>
打在历史commit上
步骤1查看历史提交commit id: git log --pretty=oneline --abbrev-commit
步骤2打上标签:git tag <tag_name> commit_id
用-a指定标签名,-m指定说明文字: eg: git tag -a v1.0 -m "说明内容" commit_id
查看某个标签信息:git show tag_name
通过-s用私钥签名一个标签:git tag -s tag_name -m "提交的信息" commit_id
删除标签
删除本地仓标签:git tag -d tag_name
删除远程仓标签:git push origin :refs/tags/V1.0
推送标签到远程
单个推送:git push origin tag_name
全部推送:git push origin --tags
收藏
收藏
0 条评论
下一页