1、创建一个版本库

mkdir repository    //创建一个文件夹
git init        //把目录编程git可以管理的仓库

2、提交文件到版本库

git add test.txt    //添加文件到版本库,此时还没有提交到git
git commit -m "提交注释"    //告诉Git,把文件提交到仓库
3、远程
查看当前git的状态:        git status    
查看修改变的内容:        git diff
查看历史记录:                git log
查看修改的headid:       git reflog
查看当前的所有分支:    git branch [-a|-r]    //-a 所有分支,-r:远程分支
查看远程库信息   :            git remote
查看远程库详细信息:        git remote -v

查看远程仓库:$ git remote -v

添加远程仓库:$ git remote add [name] [url]

删除远程仓库:$ git remote rm [branch-name]

修改远程仓库:$ git remote set-url --push [name] [newUrl]

拉取远程仓库:$ git pull origin [remoteName]:[localBranchName]

git fetch origin [remoteName]:[localBranchName]    //获取到当前分支

推送远程仓库:$ git push [remoteName] [localBranchName]

4、与远程git关联

a、在git上创建一个Repository
b、在本地执行命令:git remote add origin git@github.com:xiexingen/learngit.git    //将本地仓库与远程关联

5、从远程下载到本地

git clone <地址> [文件夹名称]    //将远程项目复制到本地之地文件加下
6、分支

创建分支:git branch <branch Name>
切换分支:git checkout <branch Name>
创建+切换分支:git checkout -b <branch Name>
合并分支到当前分支:git merge <branch Name> 
查看所有分支:git branch -a
从指定分支创建并切换到分支:git checkout -b <local-branchName> <origin/branchName>
删除分支:    git branch [-d|-D] [local-branch] //-d 只能删除已经参与合并的分支,-D:可以删除为合并的分支
git merge --no-ff -m'comment' <branch Name>    //合并分支时,加上--no-ff参数就可以用普通模式合并,合并后的历史有分支,能看出来曾经做过合并,而fast forward合并就看不出来曾经做过合并
 

7、Bug分支

 
git stash        //相当于tfs中的搁置
git stash apply    //取消搁置到本地
git stash drp     //删除搁置集
git stash pop        //取消搁置到本地并删除搁置集
git stash list    //查看搁置集
git stash apply stash@{0}    //恢复指定的搁置集
 
8、多人协作
 
A、git push -u origin <local-branch>[:remote-branch]    //吧本地库推送到远程库上,-u,不但回吧本地的分支推送到远程新的master分支,还会把本地分支和远程分支关联起来,在以后的推送或者拉去时就可以简化命名
后面如果有修改的话,只需要执行:git push origin <local-branch>    //吧本地分支的最新修改推送到服务器
B、从本地推送分支,使用git push origin <local_branch>:<remote-branch>,如果推送失败,先用git pull抓取远程的新提交;
在本地创建和远程分支对应的分支,使用git checkout -b branch-name origin/branch-name,本地和远程分支的名称最好一致;
c、建立本地分支和远程分支的关联,使用git branch --set-upstream branch-name origin/branch-name;

从远程抓取分支,使用git pull,如果有冲突,要先处理冲突。

 
9、回滚
 
git reset --hard HEAD^    //回到上一次改动
git reset -hard 3628164    //3628164 headid 恢复到指定的记录
10、取消
git checkout --test.js    //吧test.js文件在暂存区的修改全部撤销

11、版本(tag)操作相关命令

查看版本:$ git tag

创建版本:$ git tag [name]

删除版本:$ git tag -d [name]

查看远程版本:$ git tag -r

创建远程版本(本地版本push到远程):$ git push origin [name]

删除远程版本:$ git push origin :refs/tags/[name]

合并远程仓库的tag到本地:$ git pull origin --tags

上传本地tag到远程仓库:$ git push origin --tags

创建带注释的tag:$ git tag -a [name] -m 'yourMessage'

12、忽略一些文件、文件夹不提交

在仓库根目录下创建名称为“.gitignore”的文件,写入不需要的文件夹名或文件,每个元素占一行即可,如

target

bin

*.db

13、生成密钥

1.查看是否已经有了ssh密钥:cd ~/.ssh

如果提示:No such file or directory 说明你是第一次使用git。

如果不是第一次使用,请执行下面的操作,清理原有ssh密钥。

$ mkdir key_backup $ cp id_rsa* key_backup $ rm id_rsa*
生成新的密钥:

Ssh-keygen –t rsa –C “defnngj@gmai.com”

note:在coding.net上添加该密钥可以再push或者pull项目是不需要再次输入用户名和密码

14、使用BCompare来比对文件

[diff]
    tool = bc3
[difftool]
    prompt = false
[difftool "bc3"]
    cmd = \"D:/Program Files/Beyond Compare 3/BComp.exe\" \"$LOCAL\" \"$REMOTE\"
[merge]
    tool = bc3
[mergetool]
    prompt = false
    keepBackup = false
[mergetool "bc3"]
    cmd = \"D:/Program Files/Beyond Compare 3/BComp.exe\" \"$LOCAL\" \"$REMOTE\" \"$BASE\" \"$MERGED\"
    trustExitCode = true
[alias]
    dt = difftool
    mt = mergetool

使用的时候 通过git difftool 即可

 

git版本工具(团队开发常用)的更多相关文章

  1. git 团队开发常用操作流程(适用于 gogs、gitlab、github)

    git 团队开发常用操作流程(适用于 gogs.gitlab.github) NO1 项目构建者 (1)在远程仓库创建仓库 (2)将伙伴添加到仓库合作者中(无先后要求) (2)cd 到项目将要存放项目 ...

  2. Git版本工具的使用

    Git版本工具:Git是一个开源的分布式版本控制系统,可用于敏捷高效的处理任何或大或小的项目.详细介绍地址:https://git-scm.com/downloads.今天主要为大家分享一下怎样把本地 ...

  3. 区块链与Git版本工具的比较

    区块链与Git版本工具的比较 来源:http://www.jianshu.com/p/b96b98983df6 作者: 梁波林  相同点: 1. 分布式存储方案 2. 链式数据 3. 去中心化 4. ...

  4. git团队开发常用命令

    Git >>>>>>>>>>>> git clone <项目地址,http(s)> 把云端的项目克隆到本地 git ...

  5. [开发工具]Java开发常用的在线工具

    注明: 本文转自http://www.hollischuang.com/archives/1459.作为一个Java开发人员,经常要和各种各样的工具打交道,除了我们常用的IDE工具以外,其实还有很多工 ...

  6. 07.GitHub实战系列~7.Git之VS2013团队开发(如果不想了解git命令直接学这篇即可)

    GitHub实战系列汇总:http://www.cnblogs.com/dunitian/p/5038719.html ———————————————————————————————————————— ...

  7. 记录git多人协作开发常用的流程,供新手参考

    声明:博主写的博客都是经过自己总结或者亲测成功的实例,绝不乱转载.读者可放心看,有不足之处请私信我,或者给我发邮件:pangchao620@163.com. 写作目的: 记录一下我看完廖学锋老师的gi ...

  8. [.net 面向对象程序设计进阶] (27) 团队开发利器(六)分布式版本控制系统Git——在Visual Studio 2015中使用Git

    [.net 面向对象程序设计进阶] (26) 团队开发利器(六)分布式版本控制系统Git——在Visual Studio 2015中使用Git 本篇导读: 接上两篇,继续Git之旅 分布式版本控制系统 ...

  9. IDEA工具java开发之 常用插件 git插件 追加提交 Code Review==代码评审插件 撤销提交 撤销提交 关联远程仓库 设置git 本地操作

    ◆git 插件 请先安装git for windows ,git客户端工具 平时开发中,git的使用都是用可视化界面,git命令需要不时复习,以备不时之需 1.环境准备 (1)设置git (2)本地操 ...

随机推荐

  1. 转: ES6异步编程:Thunk函数的含义与用法

    转: ES6异步编程:Thunk函数的含义与用法 参数的求值策略 Thunk函数早在上个世纪60年代就诞生了. 那时,编程语言刚刚起步,计算机学家还在研究,编译器怎么写比较好.一个争论的焦点是&quo ...

  2. PKCS#12

    http://blog.csdn.net/cuiran/article/details/7816696 数字证书介绍 一.什么是数字证书 数字证书就是互联网通讯中标志通讯各方身份信息的一系列数据,提供 ...

  3. (9)Xamarin测试账号申请与续用

    原文 Xamarin测试账号申请与续用 在Xamarin网站上可以申请30天试用的测试账号.试用期内,Xamarin会提供完整的功能试用. 30天试用时间到期后,在Visual Studio里面你加载 ...

  4. C语言入门(1)——C语言概述

    1.程序与编程语言 我们使用计算机离不开程序,程序告诉计算机应该如何运行.程序(Program)是一个精确说明如何进行计算的指令序列.这里的计算可以是数学运算,比如通过一些数学公式求解,也可以是符号运 ...

  5. Xcode 3.2.5免证书开发调试

    Xcode 3.2.5免证书开发调试 xcode3.2.5 应该没人用了.这里做个保存而已. Xcode编译遇到过 Code Sign error: a valid provisioning prof ...

  6. Cocos2d—X游戏开发之CCTableView详解(十一)

    本来很早就想写关于CCTableView的文章,但是在基本功能实现之后呢,项目需求增加导致对这个控件的研究必须更加深入一点. 好的,现在开始介绍一下这个控件,在Cocos2d—X引擎中,这是一个仿制i ...

  7. asp.net DropDownList实现ToolTip功能

    在绑定DropDownList控件时,可能出现绑定显示的文本过长以至于超过控件长度的内容看不到,这时候就需要使用ToolTip完成其功能,即鼠标放到相应选项后就可显示其完成内容. 首先,在页面引入jQ ...

  8. Javascript/Jquery 中each() 和forEach()的区别

    从名字看上去这两个方法好像有点关系,但在javascript中它们区别还是挺大的. forEach() 用于数组的操作,对数组中的每个元素执行制定的函数(不是数组不能使用forEach()方法). 而 ...

  9. 【android】两个按钮的宽度各占屏幕的一半

    <LinearLayout> <Button android:layout_height="wrap_content" android:layout_width= ...

  10. oracle 导入txt

    没有Oraclehoume的情况下,执行下环境变量文件 sqlldr userid= DM/DM control = /home/oracle/libc/load.ctl load data infi ...