git 忽略配置

  1. 全局忽略DS_Store:
  2.  
  3. .vi ~/.gitignore_global
  4. gitignore_global中写入:
  5. .DS_Store
  6. */.DS_Store
  7. .vi ~/.gitconfig
  8. 配置.gitconfig 文件如下:
  9. [user]
  10. name = xiaoronglv
  11. email = xxxxx@gmail.com
  12. [push]
  13. default = matching
  14. [core]
  15. excludesfile = /Users/holy/.gitignore_global
  16. 其中:/Users/holy 可以在命令行输入pwd即可查看。

详见:http://blog.csdn.net/que_li/article/details/52918545

git 使用整理

密钥生成

  1. cd ~/.ssh //检查本机中是否有公钥信息
  2. mkdir key_backup
  3. cp id_rsa*key_backup
  4. rm id_rsa //删除已有公钥
  5. "新生成公钥"
  6. ssh-keygen -t rsa -C "git注册账号邮箱" //回车后会让输入用户名,再回车输入密码,在是确认密码
  7. cat ~/.ssh/id_rsa.pub //显示刚生成的公钥
  8.  
  9. /*将公钥添加到本地*/
  10. <windows>
  11. clip < ~/.ssh/id_rsa.pub
  12. <Mac>
  13. pbcopy < ~/.ssh/id_rsa.pub
  14. <Linux>
  15. xclip -sel clip < ~/.ssh/id_rsa.pub
  16. 然后在 .ssh文件中的 id_rsa就为公钥
  17. 把公钥添加到coding
  18. 然后运行 ssh -T git@git.coding.net 看是否已经联通

上传文件到项目

  1. 电脑中创建一个空文件,不要以中文命名。
  2. 打开电脑cmd命令框
  3. cd 文件目录 //配置文件根目录
  4. git init //初始化
  5. git remote add origin 远程项目地址 //链接远程服务器
  6. git add . //上传目录下所有文件
  7. git commit -m "第一次上传" //提交,并注释
  8. git pull origin 分支 //链接远程主机分支到本地
  9. git push origin master //上传本地所有文件到master分支
  10. git push -u origin 分支 // 当远程存在多个分支时,使用-u

本地分支

  1. git branch //查看本地所有分支
  2. git branch xxxx //创建xxxx分支
  3. git checkout xxxx //切换到分支xxxx
  4. git branch -d xxxx //删除本地xxxx的分支,注意需要在非删除分支下
  5.  
  6. 切换分支时提示you need to resolve your current index first
  7. git reset --merge

克隆代码到本地

  1. git clone 远程地址 // 下载远程代码到本地
  2. git clone 远程地址 -b xxxx // 克隆远程某分支上的代码,xxxx为分支名

删除文件

  1. clone远程文件后,删除需要删除的文件,然后
  2. git add --all

删除远程仓库文件及文件夹

  1. git rm -r --cached ignore_file //删除缓存
  2. git rm -r --cached a/.txt //删除a目录下的2.txt文件  
  3. git rm -r --cached a // 删除a目录
  4. git commit -m "删除a目录下的2.txt文件" 
  5. git push

查询跟踪

  1. git status
  2. 反馈:
  3. nothing to commit,working directory clean // 没有提交,项目很干净
  4. changes not staged for commit // 有红字提示,项目被修改,但是未被暂存
  5. changes to be committde // 绿字提示,项目已经被暂存

远程库操作

  1. git remote // 列出远程分支
  2. git remote -v // 列队远程分支对应的url
  3. git remote add xxx url // 创建远程地址为url的xxx分支
  4. git remote remove xxx //删除远程分支xxx
  5. git remote set-url xxx url // 将xxx的远程地址变更为url

config,设置多个密钥到本地

  1. //第一个密钥使用默认形式,第二个密钥配置如下
  2. Host gitlab地址 andy // andy为需要的名称
  3. HostName gitlab地址
  4. User git
  5. Port 22
  6. IdentityFile ~/.ssh/gitlab_id_rsa // 密钥地址

rebase

  1. https://www.atlassian.com/git/tutorials/rewriting-history/git-rebase
  2. https://www.atlassian.com/git/tutorials/merging-vs-rebasing

多分支操作合并到master

  1. // 自己的工作分支
  2. git checkout xxx
  3.  
  4. // 提交工作分支修改
  5. git commit -a
  6.  
  7. // 回到主分支
  8. git checkout master
  9.  
  10. // 获取远程最新的修改,不会产生冲突
  11. git pull
  12.  
  13. // 回到工作分支
  14. git checkout xxx
  15.  
  16. // 合并主干修改,如果有冲突在此时解决
  17. git rebase master
  18.  
  19. // 回到主分支
  20. git checkout master
  21.  
  22. // 合并工作分支的修改,此时不会产生冲突
  23. git merge xxx
  24.  
  25. // 提交到远程主干
  26. git push

删除远程分支

  1. git push --delete origin xxx //删除远程上xxx的分支

清空缓存栈

  1. git stash clear

node_modules过长无法删除

  1. rm -rf node_modules/

push tag发布

  1. git tag publish/版本号
  2. git push origin publish/版本号

切换分支

  1. $ ~/ccbin/mkview.sh 切换分支

项目相关命令

  1. ##ssh三方访问工具SecureCRT 一般口令
  2. ssh admin@服务器地址
  3. * 服务器名称:admin
  4. * 密码:
  5. * cd ccbin 切换到ccbin文件
  6. * ./ccupdate.sh 更新服务器
  7. * ./ccupdate.sh && ./build.sh && ./deploy.sh
  8. * 错误日志
  9. * cd logs/appstore 切换到对应项目日志
  10. * ls 查看日志列表
  11. * tail -f common-error.log
  12. * 修改antx
  13. * vim antx.properties
  14. * i修改 :w 保持 :q 退出
  15. * ls 查看目录下的内容
  16. * tail -200f common-error.log 查看错误日志

删除文件夹

  1. * cd /usr/local/bin 切换路径
  2. * sudo rm -rf /usr/local/bin/tnpm 删除tnpm文件夹

创建并切换到本地分支 

  1. * git checkout -b 【本地分支名】 origin/【远程分支名】

删除.git 重新初始化git(delete the old .git history and initialize new history)

  1. $ rm -rf .git
  2. $ git init

检出命令

  1. * git clone -b 【本地分支名】【远程分支名】

合并分支:

  1. * git branch 查看本地分支
  2. * git branch -a 查看分支详情(本地分支及远程分支)
  3. * git checkout 目的分支(如master
  4. * git merge 待合并分支(如branch1)【即将branch1分支合并到master
  5. * git push origin master 将合并后的代码推送到远程分支

回滚版本

  1. * git log 查看提交版本
  2. * git revert 版本号 将本地库回滚到该版本号之前的版本(即取消该版本及之后的提交)
  3. * 解决冲突
  4. * git add . && git commit -m “” && git push 重新提交版本之前的代码

删除分支

  1. * git branch -D br 删除本地分支
  2. * git push origin :br (origin 后面有空格) 删除远程分支

【远程代码库回滚】:

  1. 这个是重点要说的内容,过程比本地回滚要复杂
  2. 应用场景:自动部署系统发布后发现问题,需要回滚到某一个commit,再重新发布
  3. 原理:先将本地分支退回到某个commit,删除远程分支,再重新push本地分支
  4. 操作步骤:
  5. 1git checkout the_branch
  6. 2git pull
  7. 3git branch the_branch_backup //备份一下这个分支当前的情况
  8. 4git reset --hard the_commit_id //把the_branch本地回滚到the_commit_id
  9. 5git push origin :the_branch //删除远程 the_branch
  10. 6git push origin the_branch //用回滚后的本地分支重新建立远程分支
  11. 7git push origin :the_branch_backup //如果前面都成功了,删除这个备份分支

http://www.jianshu.com/p/8f0433090e2b?hmsr=toutiao.io&utm_medium=toutiao.io&utm_source=toutiao.io  Git详解以及使用遇到问题解决

Git stash 命令

  1. git stash: 备份当前的工作区的内容,从最近的一次提交中读取相关内容,让工作区保证和上次提交的内容一致。同时,将当前的工作区内容保存到Git栈中。
  2. git stash pop: Git栈中读取最近一次保存的内容,恢复工作区的相关内容。由于可能存在多个Stash的内容,所以用栈来管理,pop会从最近的一个stash中读取内容并恢复。
  3. git stash list: 显示Git栈内的所有备份,可以利用这个列表来决定从那个地方恢复。
  4. git stash clear: 清空Git栈。此时使用gitg等图形化工具会发现,原来stash的哪些节点都消失了。

一、For Windows

  • 下载地址:http://msysgit.github.io/
  • 安装完成后,在开始菜单里找到“Git”->“Git Bash”,蹦出一个类似命令行窗口的东西,就说明Git安装成功!
  • git 配置(其实是为常用命令创造别名)
    $ git config --global user.name "Your Name"
  • $ git config --global user.email "email@example.com"

—global 这个参数是说明,当前设备上的所有Git都会使用这个配置。

  • 创建版本库
    $ mkdir abc //创建目录 abc
  • $ cd abc //进入 abc 目录
  • $ pwd //显示当前目录
  • 执行结果:/Users/userName/abc
  • 将abc目录变为某项目的版本库目录
    $ git init //初始化,会生成一个 git文件夹,注意别动改文件夹下内容。用于跟踪管理版本
  • 执行结果:Initialized empty Git repository in /Users/userName/abc .git/
  • 新增文件
    $ git add README.MD  //当前目录下,创建README.MD
  • $ git commit -m "123123" //添加备注,并添提交至git仓库
  • 对于 git config -m "" 的省略,可以为 git c

commit是批量型提交,但add确是需要多次添加一个文件

  • 查看状态

$ git status

  • 关联远程库
    $ git remote add origin 远程库地址 //远程库地址是托管平台创建代码库时所生成的xxxx.git

主要用于对代码托管平台进行维护,github、coding

  • 更新远程代码到本地
  • git clone xxx.git库地址
  • git pull origin master
  • 将git仓库的项目文件,提交至远程库
    git push -u origin master  //将该目录下的文件推送到远端(origin)上的 "master" 分支,第一次提交必须这么写
  • git push origin master //推送最新修改,第一次之后每次更新可以使用该命令
  • 版本回滚
    git log //输出提交的历史记录
  • git checkout 9位字符编码
  • 或者
  • git checkout -b my_previous_version 9位字符编码
  • 删除分支
    git branch -d new_feature//把分支合并到主干分支,从主干(master)分支上发送
    • 假如修已经合并了,那么只会删除分支。假如分支未合并,会得到错误信息。所以需要强制删除
      git branch -D new_feature
  • 总的来说
    $ git init
  • $ git remote add origin xxxx.git
  • $ git pull
  • $ git add .
  • $ git commit -m "123123"
  • $ git push

在 git 中忽略文件 gitignore 与 exclude

常见问题

  • error: failed to push some refs to …
    1. 这是由于远程仓库中代码版本与本地不一致冲突导致的,需要先git pull更新
    2. 如果出现报错 fatal: Couldn’t find remote ref master或者fatal: ‘origin’ does not appear to be a git repository以及fatal: Could not read from remote repository.
    3. 则需要重新输入$ git remote add xxxx.git
  • fatal: remote origin already exists.
    1. $ git remote rm origin
    2. $ git remote add origin xxxx.git
    3. 如果输入$ git remote rm origin 还是报错的话,error: Could not remove config section ‘remote.origin’. 我们需要修改gitconfig文件的内容
    4. 找到你的github的安装路径,我的是C:\Users\ASUS\AppData\Local\GitHub\PortableGit_ca477551eeb4aea0e4ae9fcd3358bd96720bb5c8\etc.找到一个名为gitconfig的文件,打开它把里面的[remote “origin”]那一行删掉就好了!
  • there is no tracking information
    1. 该问题发生在新创建远程库,进行git pull更新时
    2. git branch —set-upstream master origin/master //这样才可以直接输入git pull 、git push
    3. 否则每次输入 git push origin master || git pull origin master
    4. 最后按以下方式提交
      git add .
    5. git commit -m "first time add project"
    6. git push

命令一览表

git命令大集合的更多相关文章

  1. Windows+linux命令大集合

    net use \\ip\ipc$ " " /user:" " 建立IPC空链接 net use \\ip\ipc$ "密码" /user: ...

  2. Git命令大总结(纯手办)

    Git完整命令手册地址:http://git-scm.com/docs PDF版命令手册地址:github-git-cheat-sheet.pdf 1.git config -l查看全局用户信息配置 ...

  3. nmcli命令大集合

    nmcli命令 地址配置工具:nmcli nmcli  device  查看所有网卡的信息 nmcli  device  status 和numcli device 相同 nmcli  device ...

  4. 【】(Git)用动图展示10大Git命令

    1.说明 git merge.git rebase.git reset.git revert.git fetch.git pull.git reflog-- 你知道这些 git 命令执行的究竟是什么任 ...

  5. 干货100+ 最超全的web开发工具和资源大集合

    干货100+ 最超全的web开发工具和资源大集合   作为Web开发者,这是好的时代,也是坏的时代.Web开发技术也在不断变化.虽然很令人兴奋,但是这也意味着Web开发人员需要要积极主动的学习新技术和 ...

  6. 干货!IT小伙伴们实用的网站及工具大集合!持续更新!

    1.Git 还在担心自己辛辛苦苦写的代码被误删了吗?还在担心自己改错了代码不能挽回吗?还在苦恼于多人开发合作找不到一个好的工具吗?那么用Git就对 了,Git是一个开源的分布式版本控制系统,用以有效. ...

  7. 我所记录的git命令(非常实用)

    一.前言 记录一下工作中常用到的git命令,只是简单的笔记,欢迎大家交流... [ 顺便问下园友们,怎么感觉博客园发布的博客搜索有时都搜不到,后台编辑能填的都填写了,还是觉得搜索排名不高? 相同的标题 ...

  8. GIT命令行的使用

    新手了解 有不对的地方指点下 首先, 了解下什么是GIT,GIT是一款开元的分布式版本控制工具, 在世界上的所有分布式版本控制工具中,GIT是最简单,最流行,同时也是最常用的 相比于其他版本的控制工具 ...

  9. Git命令行(转用于学习和记录)

    Git命令行介绍和使用说明(持续更新) 参见:<Git 中文简体教程> 一. 命令“git”或者“git help”查询常用命令 [add]: “git add”——不但是用来添加不在版本 ...

随机推荐

  1. touches

    e.touches.length//有多少个手指接触头

  2. Windows Phone 十六、HttpClient

    HttpClient 对象也可以实现网络请求 相对于 HttpWebRequest 对象来说,HttpClient 操作更简单,功能更强大 HttpClient 提供一系列比较简单的API来实现基本的 ...

  3. Windows Phone 三、样式和资源

    定义样式和引用资源 <Page.Resources> <!-- 向资源字典中添加一个键为ButtonBackground值为SolidColorBrush对象 --> < ...

  4. win7,安装node失败

    win7下,下载node安装包,安装之后 打开命令行输入 node -v,仍然提示命令不可用. 解决办法: 找到环境变量: 在用户变量里修改 path: 添加系统变量 NODE_PATH: 关机重启电 ...

  5. FORM中需要反复选择LOV

    注意:1.字段长度问题 2.提示显示样式:第一条记录 3.那些不现实的返回项,或者是只读的返回项可以  将从列表中验证 改为 否    比如一个LOV 返回2个值 但是其实只用选择前一个就可以带出后一 ...

  6. JavaScript 的倒计时

    一年前,在网上找到的例子,现在已经找不到出处,对不住原作者,请原谅.修改了一下,在刷新页面的情况下,倒计时不重来. 没有任何样式,纯文字倒计时. <!DOCTYPE html> <h ...

  7. Java高效编程之四【C语言结构的替代】

    本章节可以跳过,但是[二十一]是非常有价值的 十九.用类代替结构 坚持以包含私有域和公有访问方法(accessor method)的类.Java平台中有几个类违反了“公有类不应该直接暴露数据域”的告诫 ...

  8. GitHub上整理的一些工具

    技术站点 Hacker News:非常棒的针对编程的链接聚合网站 Programming reddit:同上 MSDN:微软相关的官方技术集中地,主要是文档类 infoq:企业级应用,关注软件开发领域 ...

  9. 使用jQuery解析JSON数据

    我们先以解析上例中的comments对象的JSON数据为例,然后再小结jQuery中解析JSON数据的方法. 上例中得到的JSON数据如下,是一个嵌套JSON: {"comments&quo ...

  10. [转]CocoaPods安装和使用教程

    转载地址:http://code4app.com/article/cocoapods-install-usage 目录 CocoaPods是什么? 如何下载和安装CocoaPods? 如何使用Coco ...