• 当前标签:git

程序开发 git fork后更新原作者仓库代码到自己仓库

fork 了别人的仓库后,原作者又更新了仓库,如何将自己的代码和原仓库保持一致?本文将给你解答。 假设远程源仓库为A,自己fork后的远程仓库为B,自己本地的代码仓库为C 给 fork 配置一个 remote 一般来说从自己远程仓库B去拉代码后就会有remote 使用 git remote -v 查看远程状态。 git remote -v origin https://github.com/YOUR_USERNAME/YOUR_FORK.git (fetch) origin https://github.com/YOUR_USERNAME/YOUR_FORK.git (push) 添加一个将被同步给 fork 远程的上游仓库A git remote add upstream https://github.com/ORIGINAL_OWNER/ORIGINAL_REPOSITORY.git 再次查看状态确认是否配置成功。 git remote -v origin https://github.com/YOUR_USERNAME/YOUR_FORK.git (fetch) origin https://github.com/YOUR_USERNAME/YOUR_FORK.git (push) upstream https://github.com/ORIGINAL_OWNER/ORIGINAL_REPOSITORY.git (fetch) upstream https://github.com/ORIGINAL_OWNER/ORIGINAL_REPOSITORY.git (push) 执行同步fork操作 从上游仓库A fetch 分支和提交点,传送到本地,并会被存储在一个本地分支 upstream/master git fetch upstream 默认会将远程所有的分支fetch下来 remote: Counting objects: 41, done. remote: Compressing objects: 100% (41/41), done. remote: Total 41 (delta 17), reused 0 (delta 0) Unpacking objects: 100% (41/41), done. From https://github.com/ORIGINAL_OWNER/ORIGINAL_REPOSITORY * [new branch] dev -> upstream/dev * [new branch] master -> upstream/master 将upstream的代码合并到本地仓库C上 同步自己的远程仓库 从自己的远程仓库B上拉取最新的代码 git pull origin master 执行合并upstream操作 把 upstream/master 分支合并到本地 master 上 git merge upstream/master 如果想同步upstream/dev 分支的话执行 git merge upstream/dev 把 upstream/dev 分支合并到本地 push本地代码到自己的远程仓库 处理冲突代码,后提交到自己的远程仓库 git add . git commit -m '描述' git push 文章来自:shunyang

2019-10-19 15:29:43 65 0 0
阅读详情

程序开发 使用git同步管理web网站或者服务器中项目代码

在上一篇讲了怎么搭建git服务器,这篇说下怎么使用git同步管理web网站源码或者服务器中的项目。 上一篇中创建的git只是一个裸仓库,裸仓库没有工作区,没法同步保存文件。 下面进入正题: 假设需要同步的文件夹为:/home/wwwroot/website 首先进入创建git库中的hooks文件夹,上一篇文章中的 /home/sample.git; cd /home/sample.git/hooks 然后新建一个 post-receive ,并添加内容: vi post-receive #新建文件,输入以下内容 #!/bin/sh GIT_WORK_TREE=/home/wwwroot/website git checkout -f # or GIT_WORK_TREE=../WebRoot git checkout -f 给post-receive添加权限: chmod +x post-receive #添加可执行权限 chown -R git:git post-receive post-receive这个脚本在提交文件到git仓库时,会运行文件内的代码,所以通过这样的方法,我们在客户端push提交代码后,就能自动更新网站的文件了。 同时也要/home/wwwroot/website文件夹给git权限 最后在本地clone下来,把需要上传的东西重新git add 、git commit 最后git push 上去。如果原来/home/wwwroot/website 中有东西的话,需要把东西下载到本地来,重新使用git方式上传上去才会有版本记录。

2018-04-03 20:33:20 99 2 0
阅读详情

程序开发 linux安装git服务器

在Linux服务器中自建git服务,搭建服务器参考 廖雪峰的git教程 , 把其中的步骤单独列出来,自个好找点。以下代码以Ubuntu和debian为准,Centos把sudo去掉就行。 1、安装git Ubuntu或Debian:sudo apt-get install git Centos: yum install curl-devel expat-devel gettext-devel openssl-devel zlib-devel perl-devel yum install git 2、创建git用户 sudo adduser git 3、创建证书登录: 收集所有需要登录的用户的公钥,就是他们自己的id_rsa.pub文件,把所有公钥导入到/home/git/.ssh/authorized_keys文件里,一行一个。 4、初始化Git仓库 先选定一个目录作为Git仓库,假定是/home/sample.git,在/home目录下输入命令: sudo git init --bare sample.git 5、改权限: sudo chown -R git:git sample.git 6、禁用shell登录: 出于安全考虑,第二步创建的git用户不允许登录shell,这可以通过编辑/etc/passwd文件完成。找到类似下面的一行: git:x:1001:1001:,,,:/home/git:/bin/bash 改为: git:x:1001:1001:,,,:/home/git:/usr/bin/git-shell 7、克隆远程仓库: git clone git@127.0.0.1:/home/sample.git 这里会得到一个空仓库,其中127.0.0.1为你服务器的ip或者网址。然后执行 git add 、 git commit -m '提交备注' 、git push 就可以了。

2018-04-03 20:16:55 67 0 0
阅读详情
  • 1
前往