Git 使用笔记

2017-06-24  本文已影响27人  勤劳一沙鸥
盗图镇楼

参考链接【zrong's blog

仓库选择

基本使用

git init .
git add .
git status .
git commit -m "本次提交的说明信息"

在安装oh-my-zsh后,一些简化命令

gst='git status'
gc='git commit -v'
gcm='git checkout master'
gcmsg='git commit -m'
gco='git checkout'
......

使用远程

查看远程

git remote
git remote -v origin

删除远程tag

git push origin --delete tag <tagname>

分支使用

查看分支列表:

git branch   ( ps: 带*号的表示当前工作分支)```
创建分支

git branch <分支名称>```

切换分支

git checkout <分支名称>```
重命名分支

git branch -m iu IU_HOTEL```
推送分支至远端

git push origin <分支名称>```

在本地查看远程分支

git branch -a 或者
git branch -r

将远程分支拉取到本地

git pull origin/branch_name```

有的项目,网络无法连接到代码服务器。只能做压缩包的方式,做补丁。于是想当然的需要"git提取出两个版本之间的差异文件并打包",然而,gitblit和gitlab找了半天,都不存在这个功能。后来只能手写了。
git diff这个命令可以比较两个提交之间的差异,使用–name-only参数可以只显示文件名。

git diff b3c4c1 f0c72c --name-only
...
backend/app/Http/Controllers/Api/ResourceController.php
backend/app/Http/Controllers/Web/ScheduleController.php
backend/app/Utils/helper.php
backend/public/component/c_header.js
backend/public/info-dutyroster.html
backend/public/system-mainmenu.html
backend/resources/views/station/schedule.blade.php
backend/routes/api.php
backend/storage/app/mainmenu.json

然后配合xargs,使用zip命令打包即可

git diff b3c4c1 f0c72c --name-only | xargs zip update.zip

删除错误提交的commit

起因:不小心将并非本次提交的文件都提交了(仅限于commit)
方法:git reset <commit-id> --soft
说明:回退到指定的版本,只回退commit信息。文件修改内容都还在。如果要提交,可以直接commit

其它参数:

soft mixed hard,会对working tree和index和HEAD进行重置:

  1. mixed:此为默认方式,不带任何参数的git reset,即时这种方式,它回退到某个版本,只保留源码,回退commit和index信息
  2. soft:回退到某个版本,只回退了commit的信息,不会恢复到index file一级。如果还要提交,直接commit即可
  3. hard:彻底回退到某个版本,本地的源码也会变为上一个版本的内容

日常错误

git push
(gnome-ssh-askpass:3530): Gtk-WARNING **: cannot open display:

在一台服务器上,准备把代码回传,但提示此类提示。运行如下命令后解决

unset SSH_ASKPASS

上一篇 下一篇

猜你喜欢

热点阅读