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工具命令笔记

  • 2017年09月22日 09:38
  • 25KB
  • 下载

Git命令行工具

  • 2017年05月13日 19:05
  • 35.43MB
  • 下载

git常用命令让你几步摆脱图形工具提交项目

今天介绍的不是完全的git命令,是配合gerrit的命令行提交项目代码,因为现在做项目,不像以前修改完代码就可以commit了,需要其他人员配合review代码,提高代码质量,把好常见的错误,及手误低...

Git工具使用命令行总结

在Windows上安装Git 从https://git-for-windows.github.io下载(网速慢的同学请移步国内镜像),然后按默认选项安装即可。 安装完成后,在开始菜单里找到“Git...

Git与SVN常用命令与管理工具的使用

Git git init:初始化本目录为一个仓库 SVN svn checkout 工程URL --username 用户名 --password 密码: 将服务器代码复制到当前目录 这里再介绍一个M...
  • CNLF14
  • CNLF14
  • 2015年08月27日 14:21
  • 867

Android学习笔记Android必备开发工具之一命令行创建Git库

提供相关文章介绍 http://hi.baidu.com/baixuejiyi1111/blog/item/e7a475a2589123e19152eed9.html http://www.2...
  • yeqishi
  • yeqishi
  • 2011年09月28日 15:29
  • 1306

使用 git 命令行工具创建一个 Android 工程

workspace: 本地的工作空间。 index:缓存区域,临时保存本地改动。 local repository: 本地仓库,指向最后一次提交HEAD。 remote repository:远程仓库...
  • fjnu_se
  • fjnu_se
  • 2017年03月06日 16:34
  • 583

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

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

git 工具常用命令汇总

git 常用命令汇总

Git版本控制工具结合GitHub从入门到精通常用命令学习手册

注意: 学习前请先配置好Git客户端 相关文章:Git客户端安装图文详解如何安装配置GitHub操作流程攻略 GIT 学习手册简介 本站为 Git 学习参考手册...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Git 命令及工具
举报原因:
原因补充:

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