安装好之后: 1,建立仓库&创建邮件地址: git init #建立一个空仓库 git config --global user.email "sinclair.chen@silksoftware.com" #创建全局邮件地址 git config --global user.name "sinclair.chen" #创建全局名字 2,生成SSHkey,得到id_rsa,id_rsa.pub: ssh-keygen -t rsa -C "sinclair.chen@silksoftware.com" #要是不需要密码的话,连续回车,记下id_rsa的路径,如果不是第一次,步骤中选择overwrite 3,添加密钥到ssh-agent: eval "$(ssh-agent -s)" #Agent pid xxxx 得到pid ssh-add ~/.ssh/id_rsa # ~/.ssh/id_rsa 是刚刚需要记下的地址 4,添加SSHkey到远程仓库: cat ~/.ssh/id_rsa.pub #复制里面的代码,登录到远程仓库,粘贴到 add SSH keys里面 5,测试是否成功: ssh -T git@github.com #显示欢迎信息的话就表示成功了,或者有的网站或提示是否继续链接,选择yes 6,从远程仓库克隆: git clone git@git.mez100.com.cn:root/Motion-Enterprise.git #克隆master代码,如果想改变文件夹名字 直接在.git后面加一个文件夹名字,如: git clone git@git.mez100.com.cn:root/Motion-Enterprise.git XXX,会将代码放在XXX里面,就除去了Motion-Enterprise文件夹 git checkout -b sinclair #创建分支并切换 git checkout -b dev origin/dev #从远程dev分支copy代码 git push -u origin sinclair #提交分支到版本库 7,常用: git add -A #提交所有变化 git add -u #提交被修改(modified)和被删除(deleted)文件,不包括新文件(new) git add . #提交新文件(new)和被修改(modified)文件,不包括被删除(deleted)文件 git add xxx #提交具体更新文件 git commit -m 'xxx' #设置commit git push #推送到远程仓库 git status #查看现在状态 git branch -r #有-r是看远程分值列表,没有-r就是查看本地分支 8,解决冲突 git pull的时候:Please commit your changes or stash them before you merge. 一般是因为先git add 之后出现的 git stash git pull git stash pop git comit git push git stash: 备份当前的工作区的内容,从最近的一次提交中读取相关内容,让工作区保证和上次提交的内容一致。同时,将当前的工作区内容保存到Git栈中。 git stash pop: 从Git栈中读取最近一次保存的内容,恢复工作区的相关内容。由于可能存在多个Stash的内容,所以用栈来管理,pop会从最近的一个stash中读取内容并恢复。 git stash list: 显示Git栈内的所有备份,可以利用这个列表来决定从那个地方恢复。 git stash clear: 清空Git栈。此时使用gitg等图形化工具会发现,原来stash的哪些节点都消失了
git config core.filemode false ubuntu里面使用git,git会将权限改变也算在版本里面,每次修改权限就会出现一大堆修改过的文件,很麻烦,用这个命令解决