Git 命令及工具

原创 2015年09月05日 11:52:54

命令

Git 是一个很强大的分布式版本控制系统。它不但适用于管理大型开源软件的源代码,管理私人的文档和源代码也有很多优势。
Git常用操作命令:

1) 远程仓库相关命令

检出仓库:gitclonegit://github.com/jquery/jquery.git git remote -v
添加远程仓库:gitremoteadd[name][url] git remote rm [name]
修改远程仓库:gitremoteseturlpush[name][newUrl] git pull [remoteName] [localBranchName]
推送远程仓库:$ git push [remoteName] [localBranchName]

*如果想把本地的某个分支test提交到远程仓库,并作为远程仓库的master分支,或者作为另外一个名叫test的分支,如下:
gitpushorigintest:master//testmastergit push origin test:test // 提交本地test分支作为远程的test分支

2)分支(branch)操作相关命令

查看本地分支:gitbranch git branch -r
创建本地分支:gitbranch[name] git checkout [name]
创建新分支并立即切换到新分支:gitcheckoutb[name] git branch -d [name] —- -d选项只能删除已经参与了合并的分支,对于未有合并的分支是无法删除的。如果想强制删除一个分支,可以使用-D选项
合并分支:gitmerge[name][name](push) git push origin [name]
删除远程分支:gitpushorigin:heads/[name] gitpush origin :[name]

*创建空的分支:(执行命令之前记得先提交你当前分支的修改,否则会被强制删干净没得后悔)
gitsymbolicrefHEADrefs/heads/[name]rm .git/index
$git clean -fdx

3)版本(tag)操作相关命令

查看版本:gittag git tag [name]
删除版本:gittagd[name] git tag -r
创建远程版本(本地版本push到远程):gitpushorigin[name] git push origin :refs/tags/[name]
合并远程仓库的tag到本地:gitpullorigintagstag git push origin –tags
创建带注释的tag:$ git tag -a [name] -m ‘yourMessage’

4) 子模块(submodule)相关操作命令

添加子模块:gitsubmoduleadd[url][path]git submodule add git://github.com/soberh/ui-libs.git src/main/webapp/ui-libs
初始化子模块:gitsubmoduleinit git submodule update —-每次更新或切换分支后都需要运行一下
删除子模块:(分4步走哦)
1) $ git rm –cached [path]
2) 编辑“.gitmodules”文件,将子模块的相关配置节点删除掉
3) 编辑“ .git/config”文件,将子模块的相关配置节点删除掉
4) 手动删除子模块残留的目录

5)忽略一些文件、文件夹不提交

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

=====================

Git 常用命令

git branch 查看本地所有分支
git status 查看当前状态
git commit 提交
git branch -a 查看所有的分支
git branch -r 查看本地所有分支
git commit -am “init” 提交并且加注释
git remote add origin git@192.168.1.119:ndshow
git push origin master 将文件给推到服务器上
git remote show origin 显示远程库origin里的资源
git push origin master:develop
git push origin master:hb-dev 将本地库与服务器上的库进行关联
git checkout –track origin/dev 切换到远程dev分支
git branch -D master develop 删除本地库develop
git checkout -b dev 建立一个新的本地分支dev
git merge origin/dev 将分支dev与当前分支进行合并
git checkout dev 切换到本地dev分支
git remote show 查看远程库
git add .
git rm 文件名(包括路径) 从git中删除指定文件
git clone git://github.com/schacon/grit.git 从服务器上将代码给拉下来
git config –list 看所有用户
git ls-files 看已经被提交的
git rm [file name] 删除一个文件
git commit -a 提交当前repos的所有的改变
git add [file name] 添加一个文件到git index
git commit -v 当你用-v参数的时候可以看commit的差异
git commit -m “This is the message describing the commit” 添加commit信息
git commit -a -a是代表add,把所有的change加到git index里然后再commit
git commit -a -v 一般提交命令
git log 看你commit的日志
git diff 查看尚未暂存的更新
git rm a.a 移除文件(从暂存区和工作区中删除)
git rm –cached a.a 移除文件(只从暂存区中删除)
git commit -m “remove” 移除文件(从Git中删除)
git rm -f a.a 强行移除修改后文件(从暂存区和工作区中删除)
git diff –cached 或 $ git diff –staged 查看尚未提交的更新
git stash push 将文件给push到一个临时空间中

git stash pop 将文件从临时空间pop下来

git remote add origin git@github.com:username/Hello-World.git

git push origin master 将本地项目给提交到服务器中

git pull 本地与服务器端同步

git push (远程仓库名) (分支名) 将本地分支推送到服务器上去。

git push origin serverfix:awesomebranch

git fetch 相当于是从远程获取最新版本到本地,不会自动merge
git commit -a -m “log_message” (-a是提交所有改动,-m是加入log信息) 本地修改同步至服务器端 :
git branch branch_0.1 master 从主分支master创建branch_0.1分支
git branch -m branch_0.1 branch_1.0 将branch_0.1重命名为branch_1.0
git checkout branch_1.0/master 切换到branch_1.0/master分支
du -hs


mkdir WebApp
cd WebApp
git init
touch README
git add README
git commit -m ‘first commit’
git remote add origin git@github.com:daixu/WebApp.git
git push -u origin master

工具

SourceTree 客户端

SourceTree 是 Windows 和 OS X 下免费的 Git 和 Hg 客户端。支持创建、克隆、提交、push、pull 和合并等操作。
SourceTree 界面非常美观,可以方便管理多个 Git 项目,同时还支持 Hg,就是启动速度稍微有些慢,但是总体来说还是很不错的。
在windows上不是很方便,需要安装Git命令,不然就只能翻墙通过sourcetree下载安装独立git。
个人一直在使用该客户端,挺好用的,需要配置一下提交和push限制,不然提交过大数据量时会出错,在mac偶尔会有闪退情况,但是完全可以忍受的那种,没问题。

我是用了sourcetree,所以只能说这个,很推荐。其实命令也也挺好的,本地配置一些基本操作,写几个脚本,根据需要运行即可。
比如:
以下是add,commit,push三个操作批处理,参数1为提交备注,参数2为提交分支。
#!/bin/sh
git add .
git commit -am "$1" 
git push origin $2
调用:
add_commit_push 'commit_text' master
开发者本地如果不使用GUI的Git客户端,那很需要编写脚本,尽量是每个环节都分开编写脚本,然后写一些连续操作等脚本,参数控制根据项目需要设定。
服务器端Git控制一般都是命令行,脚本就尤其重要了,都是服务器端git操作不会太复杂,写好拉取和回滚基本就OK了。

版本控制工具Git 常用操作命令

Git 是用于Linux 内核开发的版本控制工具。与常用的版本控制工具 CVS, Subversion 等不同,它采用了分布式版本库的方式,不必服务器端软件支持,使源代码的发布和交流极其方便。 Git...
  • u011974987
  • u011974987
  • 2016年03月24日 17:54
  • 902

Git命令工具使用(gitHub实战)

msysgit是Windows版的Git     每一行中$ 后面的是要输入的命令以及参数 1. 在window上安装msysgit msysgit是Windows版的Git,从http://...
  • manymore13
  • manymore13
  • 2016年06月01日 21:07
  • 6255

git工具命令使用

最近做了一个开源项目,从git导入。不再在svn上开发,全部使用git进行代码更新。开始的时候很不习惯。不过就那几个命令 ,用着慢慢就好了。 首先需要安装Git-1.9.5-preview2014...
  • luccs624061082
  • luccs624061082
  • 2015年01月15日 17:53
  • 2054

git push命令简化

git命令简化 在开发过程中,git是当前必不可少的版本管理工具,但是在git提交代码的时候,总是要经过add,commit,push三个步骤,比较复杂,如果使用的是linux操作系统,可以 简化...
  • yizhizouxiaqu
  • yizhizouxiaqu
  • 2016年09月30日 09:07
  • 904

Git Flow 安装使用简述

简介工具Git-flow是按照Vincent Driessen的branch 模型,实现的一个高层次(级别)的git仓库操作扩展集合。 在git-flow中,一切被划分为分支。 当你开始一个新特性...
  • w695050167
  • w695050167
  • 2017年02月26日 14:36
  • 418

git-svn — 让git和svn协同工作 【命令行】

svn作为一个优秀源码版本的管理工具,可以适合绝大多数项目。但是因为它的采用中心化管理,不可避免的存在本地代码的备份和版本管理问题。也就是说对于尚未或暂无法提交到Subversion服务器的本地代码来...
  • zzyymaggie
  • zzyymaggie
  • 2016年10月14日 17:20
  • 817

git 分区详解

了解git基本操作和使用,那么就先来了解下git分区是什么?完整的一个提交流程是怎样的?先看下图 简单说明一下,本次演示的目录是gitTest目录 远程github目录如下...
  • jian_xi
  • jian_xi
  • 2017年10月25日 11:45
  • 144

JVM常用分析命令与工具

“报告连长:上周日投产的敌情侦测仪程序,昨晚一蟑螂进入系统摧毁了主程序导致DOWN机了。”上等兵火龙报告。 “,你们这群蠢蛋,吃啥啥不够,干啥啥不行,养你们不如养一帮娘们,敌人这些天对我们钓鱼岛虎视...
  • xufeipeng
  • xufeipeng
  • 2014年01月04日 12:38
  • 912

ubuntu使用meld/beyond compare 做git的diff工具

使用meld作为比较工具 1. 安装meld 2. 新建文件,并写入参数 3. 添加可执行权限 4. 配置git 使用Beyondcompare作为比较工具...
  • CSqingchen
  • CSqingchen
  • 2016年06月02日 14:19
  • 2815

git安装及命令使用和github网站

最近参与别人的github项目时,学习了git的使用,首先需要在https://github.com/网站上注册账号和邮箱,然后fork一个开源项目,然后下载目前Windows下最新版本的git,下载...
  • ccf19881030
  • ccf19881030
  • 2013年12月15日 11:04
  • 10716
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Git 命令及工具
举报原因:
原因补充:

(最多只允许输入30个字)