git的基础用法

2018-12-06  本文已影响0人  墨尘_7
前言

每次换电脑的时候老是遇到一些git的“bug”,所以这次决定整理一下git的基础的用法,希望也能对小伙伴们有所帮助

git的本地用法(日常流程)

git init 创建git的本地仓库
git status 查看当前没有提交的文件
git add . 将没有提交的文件保存到暂存区
git commit -m '//这个写每次提交到本地仓库的时候要写的做了哪些事,方便查看、修改' 提交到本地仓库
git push origin myWarehouse 提交到远程仓库,这里到的是myWarehouse的分支

以上基本上是git的流程最最最基础的用法,下面我要说到的是 git用到的一些处理 and 比较实用的方法

git的处理与方法

*创建分支:git checkout -b name //name分支名
*查看分支:git branch
*切换分支:git checkout name //name同上
*删除分支:git branch -D name //name同上(必须没有在name上才能删除)
*查看远程仓库:git remote -v
*添加远程仓库:git remote add [shortname] [url] //shortname远程仓库指定的名字,url远程仓库地址
*查看远程分支:git branch -r
*删除远程分支:git branch -dr name//name看到什么写什么,类似[remote/branch]

以上是个人总结经常用到的git命令,更为详细具体的git命令可以参考阮大神阮一峰的日志,希望能对大家有所帮助

应用场景

*把远程仓库的内容拉到本地:git clone [url]
*从远程仓库更新到本地:git pull [远程仓库的分支] (本地版本必须是你远程仓库之前版本,不然会出现冲突)
*支分支与主分支保持一致:git rebase dev (这里假设的是dev是主分支,命令执行分支是支分支)
*>>如果有冲突会显示1/3啥的分数值(这里为了效率我就不加图了,好心的小伙伴可以献上,我会更新上去),然后打开编辑器解决冲突!完成之后输入git add -A,三个中的一个就完成了,这个时候输入git rebase --continue,跳到一下一个冲突..........直至1/3分数消失,这个操作就完成了,就可以执行合并分支啦
*合并指定分支到当前分支:git merge [branch]
*当合并之后需要推送到远程仓库:git push --force [shortname] [branch] 这里是强制推送,因为合并了分支与远程仓库不一定兼容

git本地与远程仓库的绑定(这里以码云为例吧,其他的类似)

注册码云的账号——登陆——设置——安全设置——ssh公匙——添加公匙(名字随意、公匙如下)——确定

电脑上打开CMD——输入命令ssh-keygen——连续回车——生成成功——找到路径C:\Users\用户名\.ssh(注意是在.ssh这个文件夹里面,没找到就找这个文件夹)——打开pub后缀的文件——它就是公匙

这样码云就和本地电脑建立了联系,新建项目就可以执行git命令啦

进阶篇(如果有多个不同网站的远程仓库怎么办?)

在刚刚提到.ssh这个文件夹里面,新建config的文件(注意没有后缀!!!)编辑如下代码

Host git.oschina.net //对应的远程仓库网址
User xxx@gmail.com  //你的用户名也就是你的邮箱
PreferredAuthentications publickey //固定写法
IdentityFile ~/.ssh/id_rsa_gitee //保存当前远程仓库的本地ssh文件名

Host github.com
User xxx@gmail.com
PreferredAuthentications publickey
IdentityFile ~/.ssh/id_rsa_github

Host git.coding.net
User xxx@gmail.com
PreferredAuthentications publickey
IdentityFile ~/.ssh/id_rsa_coding

电脑上打开CMD——输入命令ssh-keygen——在第一个提示处输入(如图)前面路径为/C:/Users/用户名/.ssh/id_rsa_gitee(主要是为了改变双下线的地方,生成每个网站的ssh公匙)——连续回车——生成成功——在对应的网站匹配对应的ssh公匙,这样一个电脑就可以使用多个远程仓库啦

ssh-keygen.png

(完)

更新一张图片...


git速查表.png

修复Bug的操作

------------                                              //我们在dev分支上,发现master分支上有代号101号bug
$ git stash                                               //冷冻现在在dev分支上的工作状态 冻结吧!  
$ git checkout master                                     //这个bug发生在master主分支上,我们切回master分支
$ git checkout -b issue-101                               //创建代号101的修复bug分支
修改你的bug
$ git add readme.txt                                      //提交到暂存区
$ git commit -m "fix bug 101"                             //注意填写信息,以免日后查证
$ git checkout master                                     //切换回master分支
$ git merge --no-ff -m "merged bug fix 101" issue-101     //合并分支,注意不使用fast forward模式
$ git branch -d issue-101                                 //删除issue-101分支
$ git checkout dev                                        //bug 改完了,是时候回到dev继续写bug了
$ git stash list                                          //查看刚刚的冻结现场
$ git stash pop                                           //git stash pop,恢复的同时把stash内容也删了:
//一是用git stash apply恢复,但是恢复后,stash内容并不删除,你需要用git stash drop来删除

合并添加备注
git merge 分支名 --no-ff -m" 本次合并添加的注释信息"
放弃本地的修改和新增的文件
git checkout . && git clean -df

上一篇下一篇

猜你喜欢

热点阅读