写在前边
- 博主已经习惯了pycharm、goland这些IDE的可视化GIT操作,所以git命令行已经很少用了,这是很久之前整理的,搬运到这里来。当时学艺不精,可能有一些纰漏,欢迎大家指摘。
官方文档
git配置
- 运行前用户名及邮箱的配置:
$ git config --global user.name "lianggx"
$ git config --global user.email lianggx@example.com - 检查配置信息:
$ git config --list
生成添加ssh key
- 生成公钥私钥对,参数-C为用户邮箱
$ ssh-keygen -t rsa -C 'xxx@xxx.com' - 然后打开/.ssh/id_rsa.pub文件(表示用户目录),复制其中的内容到git网站上的ssh key管理页面添加即可
git分支操作
- 列出当前分支:
$ git branch - 创建新分支
$ git branch newbranch - 切换分支
$ git checkout your_branch
git提交
- 本地提交:
$ git commit -m "Your commit message!" - push到远程仓库:
$ git push origin your_branch
git同步远程仓库
- 将远程仓库拉取到本地:
$ git pull - 当远程仓库和本地仓库出现冲突时:
- 保留本地的修改的改法
$ git stash
$ git pull
$ git stash pop- 通过git stash将工作区恢复到上次提交的内容,同时备份本地所做的修改,之后就可以正常git pull了,git pull完成后,执行git stash pop将之前本地做的修改应用到当前工作区。
- git stash: 备份当前的工作区的内容,从最近的一次提交中读取相关内容,让工作区保证和上次提交的内容一致。同时,将当前的工作区内容保存到Git栈中。
- git stash pop: 从Git栈中读取最近一次保存的内容,恢复工作区的相关内容。由于可能存在多个Stash的内容,所以用栈来管理,pop会从最近的一个stash中读取内容并恢复。
- git stash list: 显示Git栈内的所有备份,可以利用这个列表来决定从那个地方恢复。
- git stash clear: 清空Git栈。此时使用gitg等图形化工具会发现,原来stash的哪些节点都消失了。
- 放弃本地修改的改法 ----这种方法会丢弃本地修改的代码,而且不可找回
$ git reset --hard
$ git pull
分支合并
(feature) git checkout master
(master) git pull
(master) git checkout feature
(feature) git merge master
解冲突
(feature) git commit #