git入门

服务器端安装与配置

1.安装ssh服务器
sudo apt-get install openssh-server
sudo service ssh start
2.安装git
sudo apt-get install git
3.创建git用户
sudo adduser scgdgit

  1. 禁用shell登录
    sudo vi /etc/passwd
    git:x:1001:1001:,,,:/home/git:/bin/bash
    修改为
    git:x:1001:1001:,,,:/home/git:/usr/bin/git-shell
    5.创建存放代码仓库的文件夹
    sudo mkdir /home/git/repositories#创建文件夹
    sudo chown git:git /home/git/repositories#修改文件拥有者
    sudo chmod 755 /home/git/repositories#修改文件权限
    6.创建代码仓库
    sudo git init --bare /home/git/repositories/sample.git
    7.修改子项目权限
    sudo chown -R git:git sample.git
    8.创建authorized_keys文件并修改权限
    sudo mkdir /home/git/.ssh
    touch .ssh/authorized_keys
    sudo chown -R git:git /home/git/.ssh

客户端操作

1.安装git
2.配置git用户信息
git config --global user.name "你的注册用户名"
git config --global user.emall "你的注册邮箱"
3.生成本机密钥
ssh-keygen -t rsa#选择默认或输入保存路径
4.上传本机密钥至服务器端
ssh-copy-id -i ~/.ssh/id_rsa.pub [email protected]#服务器端一般已禁用git用户bash登录,所以ssh-copy-id命令会执行失败,可通过ftp等其他方式上传至git服务器并将公钥内容写入到authorized_keys文件中

多人协作

1.服务器端创建代码仓库并修改权限
2.任一客户端创建dev分支并同步到远程dev分支
client1克隆远程仓库到本地,
git clone [email protected]:someaccount/someproject.git
本地创建dev分支,
git checkout -b dev
推送本地dev分支到远程dev分支
git push origin dev:dev
至此,服务器与本地均有master和dev分支
3.client开始coding
克隆远程仓库到本地 git clone...
默认情况下克隆到本地的远程仓库只有master分支,要求必须在dev分支上进行开发,将远程dev分支check到本地git checkout -b dev origin/dev
client2此时处于dev分支,工作完成后仍旧推送到远程dev分支。
git add .
git commit -m''
git push origin dev
client3、client4...同理

tips

git reset --mixed

使用Add操作跟踪文件,如果是第一次Add,添加后想修改忽略规则,剔除其他不想要的文件,需要撤销所有跟踪,使用git reset --mixed

git rm --cached "文件路径"

可以从缓存区移除文件,使该文件变为未跟踪的状态

复制远程仓库到本地并于本地已有文件的文件夹合并

先将远程项目clone 到临时文件夹,将文件夹中的所有文件(包括.git隐藏文件)copy到本地已有文件的文件夹,在此文件夹下执行git reset --hard DEAD,即将远程仓库克隆到本地,然后添加本地已有文件,即可提交,上传。

待续

...

参考链接


你可能感兴趣的:(git入门)