技巧篇:Git

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 config --global http.proxy 'socks5://127.0.0.1:1080' 
git config --global https.proxy 'socks5://127.0.0.1:1080'

查看代理:
git config --global --get http.proxy
git config --global --get https.proxy

取消代理:
git config --global --unset http.proxy
git config --global --unset https.proxy

git ssh配置

git一般会提供https和ssh的连接方式:

  • https:速度慢,大文件有时候会限制。
    • linux下每次都需要输入git源的账户密码(可以在git config里面保存密码,不用每次都输入git密码了) git config credential.helper store
    • window下输入一次后会记录到电脑里(控制面板->用户设置)
  • ssh:速度快,文件大小无限制。需要提前将本机的ssh公钥放到git源网站中,具体操作参见引用4

常用git命令

git命令太多了,想系统了解可以去廖雪峰的官方网站·Git学习一下,这里列一些常用的命令。

  1. 远程仓库相关命令
    检出仓库:     $ 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]
    
  2. 分支(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] 
    
  3. 版本(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命令行

  1. Git全局设置
    git config --global user.name  "nijiazhi"
    git config --global user.email "954142793@qq.com"
    
  2. 创建一个新的版本库
    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
    
  3. 现有的文件夹或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方式。


相关引用

  1. git官网
  2. 廖雪峰的官方网站·Git
  3. 常用git命令详解
  4. Git ssh配置
  5. Windows修改github密码

请我喝杯咖啡

取消

感谢您的支持,我会继续写出更优秀的文章!

微信二维码
支付宝二维码
走过路过别错过~

打开 微信/支付宝 扫一扫,即可进行扫码打赏哦!

comments powered by Disqus