下载 git
创建git用户 adduser git
给git用户添加密码password git git (root权限)
创建git群组addgrope git
配置 .ssh隐藏文件底下的公钥文件authorized_keys(将你客户端获取到的公钥粘贴到该文件,一行对应一个公钥)
初始化仓库 git init test.git
将仓库文件设置为git用户的chone gitl:git test.git
客户端(打开客户端,切换目录到想拉取的目录下)
git clone git@ip:服务器创建的git仓库路径
输入密码(拉取成功)
打开该文件创建text.txt文件
(文件添加缓存库)git add .
(提交)git commit -m '备注信息'
(上传)git push origin master
/*************下面是如何同步上传的文件***************/
cd git仓库路径
cd .git
cd hooks
cp post-receive.sample post-receive
vim post-receive
最后添加一行
git --work-tree=想要同步的目录 checkout -f
ok以上的就是完成git的所有操作了
客户端也可以用界面操作
右键
选择 Git Gui
底下按钮 对应的命令
重新扫描 -> git status
缓存改动-> git add .
提交->git commit -m '备注'
上传->git push origin master
Git push origin master出现如下错误:
- Counting objects: 3, done.
- Writing objects: 100% (3/3), 226 bytes, done.
- Total 3 (delta 0), reused 0 (delta 0)
- remote: error: refusing to update checked out branch: refs/heads/master
- remote: error: By default, updating the current branch in a non-bare repository
- remote: error: is denied, because it will make the index and work tree inconsistent
- remote: error: with what you pushed, and will require 'git reset --hard' to match
- remote: error: the work tree to HEAD.
- remote: error:
- remote: error: You can set 'receive.denyCurrentBranch' configuration variable to
- remote: error: 'ignore' or 'warn' in the remote repository to allow pushing into
- remote: error: its current branch; however, this is not recommended unless you
- remote: error: arranged to update its work tree to match what you pushed in some
- remote: error: other way.
- remote: error:
- remote: error: To squelch this message and still keep the default behaviour, set
- remote: error: 'receive.denyCurrentBranch' configuration variable to 'refuse'.
- To git@192.168.45.42:teamwork.git
- ! [remote rejected] master -> master (branch is currently checked out)
- error: failed to push some refs to 'git@192.168.45.42:teamwork.git'
执行命令解决问题
- git config receive.denyCurrentBranch ignore
git pull出现如下错误:
- You asked me to pull without telling me which branch you
- want to merge with, and 'branch.master.merge' in
- your configuration file does not tell me, either. Please
- specify which branch you want to use on the command line and
- try again (e.g. 'git pull <repository> <refspec>').
- See git-pull(1) for details.
-
- If you often merge with the same branch, you may want to
- use something like the following in your configuration file:
-
- [branch "master"]
- remote = <nickname>
- merge = <remote-ref>
-
- [remote "<nickname>"]
- url = <url>
- fetch = <refspec>
-
- See git-config(1) for details.
执行命令:
- $ git config branch.master.remote origin
- $ git config branch.master.merge refs/heads/master