初始化服务器仓库
$ cd /opt/repo/git/jilili $ mkdir project.git $ cd project.git $ git --bare init
如果想通过HTTP访问还需
$ git update-server-info
客户端操作
全局设置
$ git config --global user.name "jilili" $ git config --global user.email "jilili@aliyun.com"
从远程仓库获取内容
$ git clone http://code.ideais.net/git/jilili/project
将已经存在的内容提交到远程仓库
Step 1:在远端建立仓库,一般git托管仓库都有自己Web操作界面。
Step 2:在本地建立仓库
$ cd myproject $ git init $ git add . $ git commit -m "initial commit"
Step 3:将master分支,提交至远端仓库
$ git remote add origin git@ideais.net:/opt/repo/git/jilili/project.git $ git push origin master
使用HTTP协议的远端仓库
$ git remote add origin http://code.ideais.net/git/jilili/project $ git push origin master
处理本地修改(冲突)
当有时对本地文件做了修改,想放弃本地修改,有如下两种方式:
方式一:直接放弃本地修改
git reset --hard git pull
or
git fetch --all && git reset --hard origin/master && git pull
方式二:使用stash备份本地修改
git stash git pull git stash pop git stash list git stash clear
重置Git仓库
建立临时分支
git checkout --orphan tmp_branch
git add -A
git commit -am "init"
删除旧的master分支
git branch -D master
重命名当前分支为master分支,并推送到服务器
git branch -m master git push -f origin master
记住密码
15分钟内免输入密码
git config --global credential.helper cache
永久存储密码
git config --global credential.helper store
常见问题
error:src refspec master does not match any
有两种情况:1)本地代码还未进行第一次提交(commit);2)本地仓库没有内容,目录为空
error: RPC failed; result=22, HTTP code = 411
error: RPC failed; result=22, HTTP code = 411 fatal: The remote end hung up unexpectedly fatal: The remote end hung up unexpectedly
Git默认的http.post缓存为1MB,增大即可,再客户端执行如下命令
git config --global http.postBuffer 52428800
也可以在.git/config
中加入
[http] postBuffer = 524288000
fatal: Out of memory, malloc failed (tried to allocate 524288000 bytes)
# git push -f origin master fatal: Out of memory, malloc failed (tried to allocate 524288000 bytes) error: failed to push some refs to 'http://inford.ink/jilili/subversion-apache2'
还是postBuffer问题
# git config http.postbuffer 5m # git push -f origin master Counting objects: 9, done. Compressing objects: 100% (8/8), done. Writing objects: 100% (9/9), 6.85 MiB | 6.77 MiB/s, done. Total 9 (delta 0), reused 0 (delta 0) To http://inford.ink/jilili/subversion-apache2 + a406675...5f4325a master -> master (forced update)
Please, commit your changes or stash them before you can merge.
请看:处理本地修改(冲突)