Git 使用技巧

直接提交当前分支

git add . && git commit -m ‘评价测试’  && git pull origin `git branch | sed -n "/\* /s///p"` && git push origin  `git branch | sed -n "/\* /s///p"`

coding 没有配置ssh,使用账号密码clone

git clone http://yourname:password@git.coding.net/name/project.git https 上传o

创建分支

http://blog.csdn.net/guang11cheng/article/details/37757201

操作分支

https://www.liaoxuefeng.com/wiki/0013739516305929606dd18361248578c67b8067c8c017b000/001375840038939c291467cc7c747b1810aab2fb8863508000

分支合并

https://www.cnblogs.com/mengdd/p/3585038.html

精品 git 操作流程

https://blog.csdn.net/zzh920625/article/details/78315127/
版本回退

git log --pretty=oneline 查看
git branch ----->git checkout ----> git reflog ---> git reset --hard HEAD@{0}

删除远程分支 git branch -r ---->git branch -r -d

清空缓存 可以让暂存区的文件删除了 .gitignore

git rm -r --cache .

常见问题

git merge origin/master --allow-unrelated-histories

第一次pull 不合并

git pull origin master --allow-unrelated-histories

两个没有相关历史的库 首次提交更新代码

切换分支并创建分支 拉取远程dev分支

git checkout -b dev origin/dev

例如在master分支执行 拉去dev分支合并到master分支

git merge dev

git status 查看当前分支的状态

git checkout -- 文件名字 撤销当前修改的文件

git rm text.txt 删除暂存区的文件

git push -u origin master 第一次推送内容到远程分支时候

-u参数代表 把本地的master推送到远程master上,并把本地master和远程master关联起来
修复bug时,我们会通过创建新的bug分支进行修复,然后合并,最后删除;
当手头工作没有完成时,先把工作现场git stash一下,然后去修复bug,修复后,再git stash pop,回到工作现场。
git rm .env.production --cached 删除暂存区的文件

2.2.不额外建立本地分支
代码展示
//查询当前远程的版本
$ git remote -v
//获取最新代码到本地(本地当前分支为[branch],获取的远端的分支为[origin/branch])
$ git fetch origin master  [示例1:获取远端的origin/master分支]
$ git fetch origin dev [示例2:获取远端的origin/dev分支]
//查看版本差异
$ git log -p master..origin/master [示例1:查看本地master与远端origin/master的版本差异]
$ git log -p dev..origin/dev   [示例2:查看本地dev与远端origin/dev的版本差异]
//合并最新代码到本地分支
$ git merge origin/master  [示例1:合并远端分支origin/master到当前分支]
$ git merge origin/dev [示例2:合并远端分支origin/dev到当前分支]

ssh-keygen -t rsa -C "2233xxx112@qq.com"

直接推送当前所在的分支

命令git tag -a v0.1.0 -m "release 0.1.0 version" 创建附注标签。

git 使用标签
git tag -l  查看tag
git tag -d 删除tag
git push origin --tags 推送本地的所有标签
git push origin tag名称 推送指定的标签
git show tag名称   查看标签

stash 使用

### 将所有未提交的修改(提交到暂存区)保存至堆栈中
$ git stash 
### 给本次存储加个备注,以防时间久了忘了
$ git stash save "存储"
### 存储未追踪的文件
$ git stash -u
### 查看存储记录
$ git stash list
在 Windows 上和 PowerShell 中,需要加双引号
### 恢复后,stash 记录并不删除
$ git stash apply "stash@{index}"
### 恢复的同时把 stash 记录也删了
$ git stash pop "stash@{index}"
### 删除 stash 记录
$ git stash drop "stash@{index}"
### 删除所有存储的进度
$ git stash clear
### 查看当前记录中修改了哪些文件
$ git stash show "stash@{index}"
### 查看当前记录中修改了哪些文件的内容
$ git stash show -p "stash@{index}"

git 合并代码额外操作

git pull origin master
git pull --rebase origin master  ###拉取master的代码,合并到本地(使用rebase)

这里可以使用git pull origin master或者是 git pull --rebase  origin master,这里pull是fetch+merge的操作,git pull --rebase是fetch+rebase的操作。rebase和merge都是合并代码,他们主要区别是merge是一股脑的合并代码,并且在发生冲突解决后会要提一条commit,而rebase是变基操作,它解决冲突后不会产生多余的commit记录,这保证了分支的整洁和美观。不过合并时多个commit有冲突的时候,rebase会一个一个的解决,在这种情况下会比较麻烦。这两种操作视情况使用。
 merge如果发生冲突就使用 git status 查看冲突的文件,修改后直接git add . 然后git commit -m '****',然后git push 提交

rebase如果发生冲突就使用 git status 查看冲突的文件,解决完所有的冲突后,git add . ,然后git rebase --continue继续合并,然后git push 提交(注意如果使用rebase的方式的话,修改后提交不用commit)

https://git-scm.com/book/zh/v2/Git-%E5%B7%A5%E5%85%B7-%E5%AD%90%E6%A8%A1%E5%9D%97 git submodule使用

拉取含有子模块的代码

git clone --recurse-submodules https://github.com/chaconinc/MainProject

git下载github代码慢问题

一定是使用 ssr的情况下

去自己的电脑的网络管理查看socks5查看代理端口 然后执行

走 HTTP 代理

git config --global http.proxy "http://127.0.0.1:1087"
git config --global https.proxy "http://127.0.0.1:1087"

走 socks5 代理(如 Shadowsocks)

git config --global http.proxy "socks5://127.0.0.1:1086"
git config --global https.proxy "socks5://127.0.0.1:1086"

只针对github 做代理

# socks5
git config --global http.https://github.com.proxy socks5://127.0.0.1:1086
git config --global https.https://github.com.proxy socks5://127.0.0.1:1086
# http
git config --global http.https://github.com.proxy https://127.0.0.1:1087
git config --global https.https://github.com.proxy https://127.0.0.1:1087

只配置单个项目下git配置

进入到项目的.git文件里面
例如:git config 不加--global  http.https://github.com.proxy https://127.0.0.1:1087

SSH 形式

修改 ~/.ssh/config 文件(不存在则新建):

ProxyCommand nc -x localhost:1086 %h %p

查看配置

git config --global --list

修改配置

git config --global --edit

取消设置

git config --global --unset http.proxy
git config --global --unset https.proxy

iterm2里面使用 在.zshrc 里面加入 source ~/.zshrc

使用 curl myip.ipip.net 测试自己的ip 是否变了

alias proxy="export ALL_PROXY=socks5://127.0.0.1:1086"
alias unproxy="unset ALL_PROXY"
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 219,635评论 6 508
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 93,628评论 3 396
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 165,971评论 0 356
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 58,986评论 1 295
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 68,006评论 6 394
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 51,784评论 1 307
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,475评论 3 420
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 39,364评论 0 276
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,860评论 1 317
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 38,008评论 3 338
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 40,152评论 1 351
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,829评论 5 346
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 41,490评论 3 331
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 32,035评论 0 22
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 33,156评论 1 272
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 48,428评论 3 373
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 45,127评论 2 356

推荐阅读更多精彩内容

  • git init .初始化,表示把这个文件变成Git可以管理的仓库。初始化后打开隐藏的文件可以看到有一个.git文...
    wzhixin阅读 899评论 0 0
  • Git 简介 发音 [gɪt],跟SVN一样,也是一套代码仓库。 Git 是 Linus Torvalds 为了帮...
    l蓝色梦幻阅读 325评论 0 0
  • Git是什么 官方得话:Git是一个免费开源分布式得版本控制系统,快速得处理从小型到大型得所有事务。能帮我们更好的...
    Zane_Samuel阅读 557评论 1 0
  • 一、如何仅下载git仓库的某个文件夹 我们常常需要在github上下载一些源码,但由于有的项目库本身比较大,或者我...
    大浪捉鱼阅读 118评论 0 0
  • 彩排完,天已黑
    刘凯书法阅读 4,220评论 1 3