zoukankan      html  css  js  c++  java
  • git仓库服务搭建

    1.服务端

    1、创建目录存放代码库
    [root@localhost home]# mkdir git_ck
    2、初始化代码库testgit.git
    [root@localhost git_ck]# git init --bare testgit.git
    初始化空的 Git 版本库于 /home/git_ck/testgit.git/
    [root@localhost git_ck]# ls -a
    .  ..  testgit.git
    3.配置连接的客户端的公钥
    cat 客户端公钥.txt >> /root/.ssh/authorized_keys
    4.重启sshd 服务
    systemctl restart sshd
    

    2. 客户端

    2.1 拉取远程仓库
    1、初始化文件
    admin@admin-PC MINGW64 /e/news/git_ck
    $ git init
    Initialized empty Git repository in E:/news/git_ck/.git/
    2.克隆服务器仓库
    admin@admin-PC MINGW64 /e/news/git_ck (master)
    $ git clone root@172.30.4.137:/home/git_ck/testgit.git
    Cloning into 'testgit'...
    remote: Counting objects: 5, done.
    remote: Compressing objects: 100% (3/3), done.
    remote: Total 5 (delta 0), reused 0 (delta 0)
    Receiving objects: 100% (5/5), done.
    
    admin@admin-PC MINGW64 /e/news/git_ck (master)
    $ ls -a
    ./  ../  .git/  testgit/
    
    3.进入项目目录
    admin@admin-PC MINGW64 /e/news/git_ck (master)
    $ cd testgit/
    admin@admin-PC MINGW64 /e/news/git_ck/testgit (master)
    $ ls -a
    ./  ../  .git/  README.nd
    
    2.2 本地工作区上传至服务器
    1、win客户端新增文件-提交至master分支
    admin@admin-PC MINGW64 /e/news/git_ck/testgit (master)
    $ vim test.txt
    
    admin@admin-PC MINGW64 /e/news/git_ck/testgit (master)
    $ git status
    On branch master
    Your branch is up-to-date with 'origin/master'.
    Changes not staged for commit:
      (use "git add <file>..." to update what will be committed)
      (use "git checkout -- <file>..." to discard changes in working directory)
    
            modified:   test.txt
    
    no changes added to commit (use "git add" and/or "git commit -a")
    
    admin@admin-PC MINGW64 /e/news/git_ck/testgit (master)
    $ git add .
    
    admin@admin-PC MINGW64 /e/news/git_ck/testgit (master)
    $ git commit .
    warning: LF will be replaced by CRLF in test.txt.
    The file will have its original line endings in your working directory.
    [master f296ae0] "oneone"
     1 file changed, 1 insertion(+)
    
    2、添加远程地址并推送
    admin@admin-PC MINGW64 /e/news/git_ck/testgit (master)
    $ git remote add origin root@172.30.4.137:/home/git_ck/testgit.git
    
    admin@admin-PC MINGW64 /e/news/git_ck/testgit (master)
    $ git push origin master
    Counting objects: 3, done.
    Delta compression using up to 4 threads.
    Compressing objects: 100% (2/2), done.
    Writing objects: 100% (3/3), 272 bytes | 0 bytes/s, done.
    Total 3 (delta 0), reused 0 (delta 0)
    To 172.30.4.137:/home/git_ck/testgit.git
       34aa5ab..f296ae0  master -> master
    
    

    4. 测试

    注:
    服务器仓库没有工作区无法查看客户的提交,故在起一个客户端查看共享效果
    1、将当前服务器作为一个客户端,克隆testgit.git 仓库
    [root@localhost te_git]# git init
    初始化空的 Git 版本库于 /tmp/te_git/.git/
    [root@localhost te_git]# ls -a
    .  ..  .git
    [root@localhost te_git]# git clone root@127.0.0.1:/home/git_ck/testgit.git
    正克隆到 'testgit'...
    The authenticity of host '127.0.0.1 (127.0.0.1)' can't be established.
    ECDSA key fingerprint is SHA256:kb0bK+OA+vfY9owyYaXDIO9oomh4MEK6Bug5RMQtBmg.
    ECDSA key fingerprint is MD5:b8:a1:4a:56:de:96:2d:19:ab:ff:e3:89:a9:34:e9:1f.
    Are you sure you want to continue connecting (yes/no)? yes
    Warning: Permanently added '127.0.0.1' (ECDSA) to the list of known hosts.
    root@127.0.0.1's password: 
    remote: Counting objects: 11, done.
    remote: Compressing objects: 100% (7/7), done.
    remote: Total 11 (delta 0), reused 0 (delta 0)
    接收对象中: 100% (11/11), done.
    [root@localhost te_git]# ls -a
    .  ..  .git  testgit
    [root@localhost te_git]# cd testgit/
    [root@localhost testgit]# ls -a
    .  ..  .git  README.nd  test.txt
    # 注:已发现win客户端加的test.txt 文件
    
    2、linux客户端创建requests.py文件并提交
    [root@localhost testgit]# touch requests.py
    [root@localhost testgit]# git add .
    [root@localhost testgit]# git commit .
    [master 4befbeb] "requests"
     Committer: root <root@localhost.localdomain>
    您的姓名和邮件地址基于登录名和主机名进行了自动设置。请检查它们正确
    与否。您可以通过下面的命令对其进行明确地设置以免再出现本提示信息:
    
        git config --global user.name "Your Name"
        git config --global user.email you@example.com
    
    设置完毕后,您可以用下面的命令来修正本次提交所使用的用户身份:
    
        git commit --amend --reset-author
    
     1 file changed, 0 insertions(+), 0 deletions(-)
     create mode 100644 requests.py
    [root@localhost testgit]# git push origin master
    root@127.0.0.1's password: 
    Counting objects: 3, done.
    Compressing objects: 100% (2/2), done.
    Writing objects: 100% (2/2), 278 bytes | 0 bytes/s, done.
    Total 2 (delta 0), reused 0 (delta 0)
    To root@127.0.0.1:/home/git_ck/testgit.git
       7055fb7..4befbeb  master -> master
    
    3. 到win客户端拉取最新提交
    admin@admin-PC MINGW64 /e/news/git_ck/testgit (master)
    $ git pull
    remote: Counting objects: 3, done.
    remote: Compressing objects: 100% (2/2), done.
    remote: Total 2 (delta 0), reused 0 (delta 0)
    Unpacking objects: 100% (2/2), done.
    From 172.30.4.137:/home/git_ck/testgit
       7055fb7..4befbeb  master     -> origin/master
    Updating 7055fb7..4befbeb
    Fast-forward
     requests.py | 0
     1 file changed, 0 insertions(+), 0 deletions(-)
     create mode 100644 requests.py
    
    admin@admin-PC MINGW64 /e/news/git_ck/testgit (master)
    $ ls -a
    ./  ../  .git/  README.nd  requests.py  test.txt
    
    
  • 相关阅读:
    单例模式的五种实现模式
    JAVA基础语法
    买卖股票的最佳时机 III
    leetcode 正则表达式 (动态规划)
    leetcode LRU缓存机制(list+unordered_map)详细解析
    leetcode 下一个排列(C++,STL源码解析)
    leetcode 编辑距离(动态规划)
    leetcode 字典序排数
    leetcode 字典序第K小数字
    leetcode 有效的括号(栈模拟)
  • 原文地址:https://www.cnblogs.com/quqinchao/p/14103337.html
Copyright © 2011-2022 走看看