美文网首页
gitpro之一

gitpro之一

作者: ManjackGo | 来源:发表于2018-01-09 14:59 被阅读22次

    从这里开始的git系列均分享自以下网站:

    https://www.atlassian.com/git/tutorials/learn-git-with-bitbucket-cloud

    git init

    git init 会在项目的根文件夹创建一个.git文件夹。svn就不一样了,svn会在每个子文件夹都搞个.svn。加上--separate-git-dir--separate-git-dir参数就可以把这个.git文件夹怼到别的地方去。

    如果你已经在某个文件夹init过一次了,再init一次不会产生什么影响。

    git init --bare

    一般模式下,git init会创建一个.git文件,这种模式下你还可以看见其它的文件。但是在裸库情况下,只有.git文件,你查看其它文件的时候需要用特殊的命令git show来查看。一般而言bare模式用来建立远端的仓库,大家把操作push到这里,而不是直接操作本地文件(也没得给你操作)。

    git init directory --template=template_directory

    从某个文件夹里复制文件过来并init。注意当你不指定某个temp文件的时候,会自动从你的usr/share/git-core/templates里复制文件过来(Windows就不一样咯)。可以利用这个特性,让每次建立仓库都带有一些默认的文件,比如.ignore。

    git clone

    顾名思义,从别的仓库(本地或远端)复制文件到某个新的地方。
    每个人都可以成为中心仓库,你可以从别人那里clone东西下来。一般而言,如上文所说,中心仓库只是一个bare-repo而已。
    当你创建和远端的联系的时候,会在.git文件夹下的refs/remotes/origin下创建文件,并初始化remote.origin.url和remote.origin.fetch参数(.git/config文件中)。

    git clone -branch tagname reponame

    对某个tag进行clone。

    浅clone

    git clone -depth=1 repo-name
    只获取最新版本的拷贝,不去获取历史。好处是可以减少硬盘支出。

    获取某个分支

    git clone -branch new_feature git://remoterepository.git
    一般而言clone会拿到远端的head,也就是master分支,加了这个之后就可以自由获取别的分支啦。

    --mirror和--bare

    都是中心仓库用的,先别管。

    git clone --template=template_directory repo_location

    等同于init的template。

    Git URLs

    包括三种协议:-ssh, -git, -http。

    git config

    可以进行全局设置或者本地(本项目)设置。

    三种级别

    • --local 默认是这个,保存在.git/config里
    • --global Unix的~ /.gitconfig或者Windows的C:\Users\username.gitconfig里,像你的名字
    • --system C:\ProgramData\Git\config里

    修改某个值

    git config --global user.email "your_email@example.com"
    试验了一下似乎不能local改user.name的,改了会直接改到global的user里面去,贼坑。

    设置编辑器

    git config --global core.editor "atom --wait"~
    git config --global core.editor "vim"
    git config --global core.editor "'c:/program files/sublime text 3/sublimetext.exe' -w"
    git config --global core.editor emacs在这里你可以把emacs设置为环境变量。

    设置合并处理器

    git config --global merge.tool kdiff3

    别名

    设置git config --global alias.x1 commit然后你就可以使用git ci来提交东西了。你还可以连着设置,给别名设置别名git config --global alias.x2 x1 --xxx,结果x2就代表x1 --xxx了。

    相关文章

      网友评论

          本文标题:gitpro之一

          本文链接:https://www.haomeiwen.com/subject/jlzwnxtx.html