Git非常不错的版本控制,即便一个人开发你也会对它爱不释手。
Git的工作原理:
1.分布式,每个克隆或更新远程仓库的用户都拥有⼀一份最新的完整的仓库。
2.分支结构,不要直接操作remote的远程分支,应该首先checkout⼀一份到本地分支。远程分 支是指与远程仓库上同步的分支。而你所有的操作应该是在你的本地分支上操作。
3.时刻记得你在那个分支下工作,因为你切换到任何分支都不会改变本地目录
4.“origin”代表远程仓库,为默认的远程仓库别名
5.git的分支仅仅是⼀一个提交的标记,而不是目录,与svn的目录式分支结构不同
6.仓库的意义是整个代码仓库,本地分支/远程分支,都是你本地仓库中的分支
下面我们来看看git的常用配置:
一。当你添加文件,修改文件等操作,肯定希望git status能以不同的颜色显示出来,一目了解,那么可以使用如下的配置:
此配置中包含有当前提交用户的用户信息,git一些常用命令的别名等。
$vi ~/.gitconfig
[user]
name = your name
email = your email
[color]
ui = auto
[color "branch"]
current = yellow reverse
local = yellow
remote = green
[color "diff"]
meta = yellow bold
frag = magenta bold
old = red bold
new = green bold
[color "status"]
added = yellow
changed = green
untracked = cyan
[push]
default = matching
[alias]
ci = commit
st = status
co = checkout
df = diff
lg = log -p
who = shortlog -s --
cp = cherry-pick
lc = log ORIG_HEAD.. --stat --no-merges
graphviz = "!f() { echo 'digraph git {' ; git log --pretty='format: %h -> { %p }' "$@" | sed 's/[0-9a-f][0-9a-f]*/"&"/g' ; echo '}'; }; f"
二。如里你需要忽略文件权限的不同,可以在所在目录下使用:git config core.filemode false;
使用此命令后,你会看到在.git/config配置目录中会有如下记录:
[core]
repositoryformatversion = 0
filemode = false
bare = false
logallrefupdates = true
三。要忽略一些无需加入版本控制的文件目录则编辑.gitignore文件。