Git 命令及工具

来源:互联网 发布:九浅一深网络剧百度云 编辑:程序博客网 时间:2024/06/02 11:28

命令

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/shgit add .git commit -am "$1" git push origin $2
调用:
add_commit_push 'commit_text' master
开发者本地如果不使用GUI的Git客户端,那很需要编写脚本,尽量是每个环节都分开编写脚本,然后写一些连续操作等脚本,参数控制根据项目需要设定。服务器端Git控制一般都是命令行,脚本就尤其重要了,都是服务器端git操作不会太复杂,写好拉取和回滚基本就OK了。
0 0
原创粉丝点击