初始化服务器仓库

$ 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

方式二:使用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.

请看:处理本地修改(冲突)

[ 编辑 | 历史 ]
最近由“jilili”在“2019-08-10 03:04:50”修改