让git更高效--文末有福利

2018-04-28  本文已影响0人  smileklvens
image.png

前言 GIT命令众多,在此仅是记录备忘而已。先上图片镇楼。哈哈,文末有福利,可免费下载git 指令速查表和和破解版beyond compare

工欲善其事,必先利其器

常用设置

# 设置提交代码时的用户信息、
$ git config [--global] user.name "[name]"
$ git config [--global] user.email "[email address]"
# 让Git显示颜色,突出新增文件,改变的文件等
$ git config --global color.ui true

设置别名,让git更高效

$ git config --global alias.st status
$ git config --global alias.co checkout
$ git config --global alias.ci commit
$ git config --global alias.br branch

设置difftool和mergetool让git飞起

//针对Git 2.3和更新
1.启动Beyond Compare,进入Beyond Compare菜单并运行安装命令行工具。
2.在终端中指定difftool
$ git config --global diff.tool bc3
3.在终端指定mergetool:
$ git config --global merge.tool bc3
$ git config --global mergetool.bc3.trustExitCode true

使用

 $ git difftool file.ext
 $ git mergetool file.ext

更多参考Beyond Compare设置
您或者会问设置过这么多怎么查看生效没,简单只需要执行命令
$ git config --list 或者在mac电脑
Command + Shift + . 在 Finder 中显示隐藏文件然后查看比如我的电脑查看
/Users/zhulk/.gitconfig

image.png

接下来实战

首先检出或上传代码(在git未建立关联前)

//默认下载master分支
 $ git clone [url]
//检出指定远程分支
 $ git clone -b xxxx [url]
//第一次上传本地到git,首先建立远程关联,首次推送一定要加上 -u
$ git remote add origin [url]
$ git push -u origin master

接下里就能和其他小伙伴一起玩耍啦,不过为了更好的玩耍,先介绍以下三个小弟:
1.stash
暂存区,当我们项目做一半后,boss突然来了其他需求或者bug,你不得不暂时把你未完的工作存起来,解决后然后恢复继续工作。常用指令如下:

//把未完工作暂存
$  git stash
//查看所有暂存
$ git stash list
//找回暂存,继续工作
$ git stash pop 或者  $ git stash apply 
$ git stash pop 或者  $ git stash drop stash@{0}

2.branch
一般项目,需要构建不同的分支,一般分为集成分支、功能分支和修复分支,分别命名为 develop、feature 和 hotfix。常用命令:

//查看本地所有分支,有*号代表当前分支
$ git branch
//创建不存在的dev分支并切换到dev:
$ git checkout -b dev
//检出已经存在的master分支
$ git checkout  master
//合并dev分支到master分支
$ git merge dev
//删除dev分支
$ git branch -d dev

3.一次完整提交流程,好了接下来和小伙伴玩耍一次,来回拉取和提交代码

// 添加指定文件
$ git add [文件名]
// 添加所有文件
$ git add .
 //提交
$ git commit -m "注释"
//修改上次的提交注释
$ git commit --amend
//尝试推送到服务器
$ git push
⚠️如果push失败并提示hint: Updates were rejected because the tip of your current branch is behind则执行

//拉取远程最新代码
$ git pull
⚠️git pull也失败了,提示There is no tracking information for the current branch.
说明本地和远程分支没关联,git跟踪不到,需根据提示设置关联 比如本地dev和origin/dev的链接:
//建立本地和远程分支的链接
$ git branch --set-upstream dev origin/dev
//在拉取远程代码
$ git pull
如果有冲突则需先解决冲突,然后再执行add-commit-push等命令
//再次推送到服务器
$ git push

4.git指针
每次提交都会生成一个commit id,并指向当前,如果我们覆盖了别人的代码,或者提交错误了,可以通过修改提交id,让代码回退,或者指向某次提交。
常用命令:

//查看提交记录,显示commitid,Author等信息
$ git log
// 指向某个版本
$ git reset --hard [commId]

关联多个远程,关联代码

//关联GitHub的指定url
$ git remote add github [url]
// 查看关联的版本
$ git remote -v
⚠️由于现在关联了多个远程分支,所以我们在pull和push相关操作时需要指明操作的具体分支;
//如推送到远程github develop分支上
$ git pull github develop
$ git push github develop

一般稳定后,每次发布后都会打tag,方便以后找回,修改未知bug等。

//打tag
$ git tag v1.0
查看所有标签
$ git tag
//删除 标签
$ git tag -d v0.1
//推送标签到远程
$ git push origin v1.0

写在最后,如果你不习惯命令行,当然你也可以使用可视化工具,比如 常用的

sourcetree tower

资源

下载git速查表
链接:https://pan.baidu.com/s/1F0DLQ29UJ27v_YSHt7Cyow 密码:1huw

Beyond Compare破解下载
链接:https://pan.baidu.com/s/1n8siuZpDZObmEsw0aE7S3Q 密码:80t8

如有疏漏,请指出不胜感激,如有问题可以通过如下方式联系我

简书
csdn
掘金
klvens跑码场

上一篇 下一篇

猜你喜欢

热点阅读