git使用技巧

git使用技巧

文章概览:

  • windows下git使用
  • vim编码设置
  • git ls显示中文乱码问题

windows下git使用

从网盘下载安装即可

  • 使用git连接github

1)生成本机的密钥

ssh-keygen -C 'urmyfaith.qq.com' -t rsa

2)将生存的密钥添加到github网站中

a)登陆https://github.com/settings/ssh

b)Add an SSH Key

3)测试是否可以登录github使用,添加用户名和邮箱

$ ssh -T git@github.com
$ git config --global user.email "urmyfaith@qq.com" $ git config --global user.name "urmyfaith"
$ git config --global push.default matching

4)本地git初始化

$    git init  

5) 拉取服务器项目

$ git pull  https://github.com/urmyfaith/NotesOfDjangoBook.git
或者
$ git pull git@github.com:urmyfaith/NotesOfDjangoBook.git

6) 修改,添加文件,提交

git add filname_here

git commit -m "notes_here"

7) 提交更改到服务器

git remote add origin https://github.com/urmyfaith/NotesOfDjangoBook
# also:
# git remote add origin https://github.com/urmyfaith/NotesOfDjangoBook.git
# git remote add origin git@github.com:urmyfaith/NotesOfDjangoBook.git
git push -u origin
  • 提交时候密码的问题:

如果不想每次提交都输入密码,可以更改“.git/config”文件中的url值格式为:

 url = git@github.com:[user_name]/[project_name].git
[core]
repositoryformatversion = 0
filemode = false
bare = false
logallrefupdates = true
symlinks = false
ignorecase = true
hideDotFiles = dotGitOnly
[remote "origin"]
url = git@github.com:urmyfaith/NotesOfDjangoBook.git
fetch = +refs/heads/*:refs/remotes/origin/*
[branch "master"]
remote = origin
merge = refs/heads/master

git ignore file

To ignore file,edit:

.git\info\exclude

add the filetype you want to igonre to commit .

eg:

*.md~

git 打tag

显示历史提交

git log --pretty=oneline --abbrev-commit

给某个提交打tag

git tag v0.9 4224935

更多参考廖学峰-git-tag

你可以使用 git tag 命令来添加新标签

git tag -a v1.0 -m 'version 1.0'

可以使用 git push 命令来将标签推送到远程仓库

git push origin v1.0:v1.0

vim编码设置

(显示中文乱码问题,最后一行解决)

vimrc文件位置:

C:\Program Files\Git\share\vim

添加如下设置

set nocompatible
set number
filetype on
set history=1000
set background=dark
syntax on
set autoindent
set smartindent
set tabstop=4
set shiftwidth=4
set showmatch
set guioptions-=T
set vb t_vb=
set ruler
set nohls
set incsearch
if has("vms")
set nobackup
else
set backup
endif
set fileencodings=utf-8,gbk

git ls显示中文乱码问题

编辑

C:\Program Files\Git\etc\git-completion.bash

添加:

alias ls="ls --show-control-chars"

git view history

git log --pretty=oneline

查看某个文件的版本历史

git log --follow -p file

git rm file git删除文件

移动文件,然后从git里移除文件,再添加,最后提交。

mv file_form file_path_to
git rm file_from
git add file_path_to_full_name.
git commit -c "move file"

git 放弃本地修改

git checkout . 搜索#本地所有修改的。没有的提交的,都返回到原来的状态
git stash #把所有没有提交的修改暂存到stash里面。可用git stash pop回复。
git reset --hard HASH #返回到某个节点,不保留修改。
git reset --soft HASH #返回到某个节点。保留修改
使用命令:

git reset --hard ORIGIN/BRANCH

比如master分支:

git reset --hard origin/master

git commit –amend

修改刚才提交的commit信息

git diff

HEAD commit 版本

Index staged版本

git diff

git diff –cached (add之后的不同)

git diff –staged (add之后的不同)

git diff HEAD (commit之后的修改本地后的不同)

git diff HEAD^ HEAD (最后两次commit的不同)

加快git pull的速度

  • 先输入命令ssh -N git@gitcafe.com保持连接
  • 然后新建窗口git pull/push
  • 测试时间可以使用
x:panda zx$ time git pull
Already up-to-date.
real 0m1.043s
user 0m0.058s
sys 0m0.054s

参考:

git的使用总结的更多相关文章

  1. Git 子模块 - submodule

    有种情况我们经常会遇到:某个工作中的项目需要包含并使用另一个项目. 也许是第三方库,或者你 独立开发的,用于多个父项目的库. 现在问题来了:你想要把它们当做两个独立的项目,同时又想在 一个项目中使用另 ...

  2. Git 在团队中的最佳实践--如何正确使用Git Flow

    我们已经从SVN 切换到Git很多年了,现在几乎所有的项目都在使用Github管理, 本篇文章讲一下为什么使用Git, 以及如何在团队中正确使用. Git的优点 Git的优点很多,但是这里只列出我认为 ...

  3. Git与Repo入门

    版本控制 版本控制是什么已不用在说了,就是记录我们对文件.目录或工程等的修改历史,方便查看更改历史,备份以便恢复以前的版本,多人协作... 一.原始版本控制 最原始的版本控制是纯手工的版本控制:修改文 ...

  4. Git Bash的一些命令和配置

    查看git版本号: git --version 如果是第一次使用Git,你需要设置署名和邮箱: $ git config --global user.name "用户名" $ gi ...

  5. 在Ubuntu 16.10 安装 git 并上传代码至 git.oschina.net

    1. 注册一个账号和创建项目 先在git.oschina.net上注册一个账号和新建一个project ,如project name 是"myTest". 2.安装git sudo ...

  6. 史上最详细git教程

    题外话 虽然这个标题很惊悚,不过还是把你骗进来了,哈哈-各位看官不要着急,耐心往下看 Git是什么 Git是目前世界上最先进的分布式版本控制系统. SVN与Git的最主要的区别 SVN是集中式版本控制 ...

  7. [版本控制之道] Git 常用的命令总结(欢迎收藏备用)

    坚持每天学习,坚持每天复习,技术永远学不完,自己永远要前进 总结日常开发生产中常用的Git版本控制命令 ------------------------------main-------------- ...

  8. 【解决方案】Myeclipse 10 安装 GIT 插件 集成 步骤 图解

    工程开发中,往往要使用到集成GIT ,那么下面说说插件安装步骤 PS:以Myeclipse 10 为例,讲解集成安装步骤. ----------------------main------------ ...

  9. git 命令

    切换仓库地址: git remote set-url origin xxx.git切换分支:git checkout name撤销修改:git checkout -- file删除文件:git rm  ...

  10. git亲测命令

    一.Git新建本地分支与远程分支关联问题 git checkout -b branch_name origin/branch_name 或者 git branch --set-upstream bra ...

随机推荐

  1. 利用css如何让嵌套的div层不继承父div层的透明度?

    http://zhidao.baidu.com/link?url=cvQhh0Q7_ah0qg9tc-2zP0cjB_PoIiIq6t6RFpp4aZPPNoVJUqyy7TT41TU5pWzRtRY ...

  2. 全面拥抱移动测试,Mobile JSON Wire Protocol Specification文档翻译

    Selenium3已经宣布不支持移动化测试.对于老牌测试工具selenium来说这是以退为进,因为移动自动化测试工具的标准还在selenium团队手上. 本文轻度翻译了这个标准,看得懂的人不用翻译也能 ...

  3. iOS 优秀开源框架 开源包 开发包 from : Podfile of chatsecure ---待完善

    前段时间发现chatsecure的podfile中使用了很多非常优秀的开源包 和 大公司的sdk. 拿出来分享下. 各个类库的作用待完善. platform :ios, "7.0" ...

  4. Python 文件 readline() 方法

    描述 Python 文件 readline() 方法用于从文件读取整行,包括 "\n" 字符.如果指定了一个非负数的参数,则返回指定大小的字符数,包括 "\n" ...

  5. [转]OkHttp使用完全教程

    1. 历史上Http请求库优缺点 在讲述OkHttp之前, 我们看下没有OkHttp的时代, 我们是如何完成http请求的.在没有OkHttp的日子, 我们使用HttpURLConnection或者H ...

  6. [转]java:IO流学习小结

    Java流操作有关的类或接口: Java流类图结构: 流的概念和作用 流是一组有顺序的,有起点和终点的字节集合,是对数据传输的总称或抽象.即数据在两设备间的传输称为流,流的本质是数据传输,根据数据传输 ...

  7. Windows 上 怎么安装 install elasticsearch plugin

    D:\elasticsearch-5.2.1\bin>elasticsearch-plugin install file:///D:/elasticsearch -5.2.1/bin/elast ...

  8. 批处理脚本一键重置mysql的root密码

    一键重置mysql的root密码的实现脚本. @echo off title mysql ::从注册表找到Mysql的安装路径写入文件mysql.txt reg query HKLM\SYSTEM\C ...

  9. asp.net core中使用log4net

    和之前的ASP.NET MVC中的使用LOG4NET的方法有些不同,这里先记录一下,使用步骤如下 : 1. 建立 ASP.NET CORE项目中,NUGET中搜索log4net后下载安装 2. 根目录 ...

  10. python之celery使用详解一

    前段时间需要使用rabbitmq做写缓存,一直使用pika+rabbitmq的组合,pika这个模块虽然可以很直观地操作rabbitmq,但是官方给的例子太简单,对其底层原理了解又不是很深,遇到很多坑 ...