git是什么?
不知道git是啥,你还写什么代码? 赶紧去官网自己看吧
git配置信息
config 配置有system级别、global(用户级别)、local(当前仓库)三个,设置先从system->global->local,底层配置会覆盖顶层配置分别使用–system/global/local 可以定位到配置文件
- 查看系统config
git config --system --list
- 查看当前用户(global)配置
git config --global --list
- 查看当前仓库(local)配置信息
git config --local --list
git ssh配置
git一般会提供https和ssh的连接方式:
- https:速度慢,大文件有时候会限制。linux下每次都需要输入git源的账户密码;window下输入一次后会记录到电脑里(控制面板->用户设置)
- ssh:速度快,文件大小无限制。需要提前将本机的ssh公钥放到git源网站中,具体操作参见引用4
常用git命令
git命令太多了,想系统了解可以去廖雪峰的官方网站·Git学习一下,这里列一些常用的命令。
- 远程仓库相关命令
检出仓库: $ git clone git://github.com/jquery/jquery.git 查看远程仓库: $ git remote -v 添加远程仓库: $ git remote add [name] [url] 删除远程仓库: $ git remote rm [name] 修改远程仓库: $ git remote set-url --push [name] [newUrl] 拉取远程仓库: $ git pull [remoteName] [localBranchName] 推送远程仓库: $ git push [remoteName] [localBranchName]
- 分支(branch)操作相关命令
分支关联操作(关联后不需要每次都指定远程-本地分支):$ git branch --set-upstream-to=origin/master 查看本地分支:$ git branch 查看远程分支:$ git branch -r 创建本地分支:$ git branch [name] ----注意新分支创建后不会自动切换为当前分支 切换分支: $ git checkout [name] 创建新分支并立即切换到新分支:$ git checkout -b [name] 删除分支:$ git branch -d [name] -d选项只能删除已经参与了合并的分支,对于未有合并的分支是无法删除的。如果想强制删除一个分支,可以使用-D选项 合并分支:$ git merge [name] ----将名称为[name]的分支与当前分支合并 创建远程分支(本地分支push到远程):$ git push origin [name] 删除远程分支:$ git push origin :heads/[name] 或 $ gitpush origin :[name]
- 版本(tag)操作相关命令
查看本地所有tag:$ git tag 或者 git tag -l 查看远程所有tag:$ git ls-remote --tags origin 创建版本:$ git tag [name] 创建远程版本(本地版本push到远程):$ git push origin [name] 创建带注释的tag:$ git tag -a [name] -m 'yourMessage' 删除版本:$ git tag -d [name] 删除远程版本:$ git push origin :refs/tags/[name] 合并远程仓库的tag到本地:$ git pull origin --tags 检出标签: $ git checkout -b <branchName> <tagName>
项目初始化Git命令行
- Git全局设置
git config --global user.name "nijiazhi" git config --global user.email "954142793@qq.com"
- 创建一个新的版本库
git clone http://github.com/nijiazhi/test1.git cd test1 touch README.md git add README.md git commit -m "add README" git push -u origin master
- 现有的文件夹或Git版本库
cd [existing_folder] git init git remote add origin http://github.com/nijiazhi/test1.git git add . git commit git push -u origin master
git push origin与git push -u origin master的区别
- git push origin
上面命令表示,将当前分支推送到origin主机的对应分支。 如果当前分支只有一个追踪分支,那么主机名都可以省略
- git push
如果当前分支与多个主机存在追踪关系,那么这个时候-u选项会指定一个默认主机,这样后面就可以不加任何参数使用git push
- git push -u origin master
上面命令将本地的master分支推送到origin主机,同时指定origin为默认主机,后面就可以不加任何参数使用git push
不带任何参数的git push,默认只推送当前分支,这叫做simple方式。 此外,还有一种matching方式,会推送所有有对应的远程分支的本地分支。 Git 2.0版本之前,默认采用matching方法,现在改为默认采用simple方式。