Git使用(2)多人协作:与远程仓库之间的沟通

(简单版本连接到github等服务器)远程和本地都没有分支:
1.git checkout -b newbranch//新建一个newbranch
2.git push origin newbranch
3.git pull origin newbranch//测试是否push成功
分支是为了多人协作时能各自管理各自的版本,如同一个项目下自己的修改版本则可以新建一个分支来管理

一、新建本地仓、远程仓并连接

1.从已有的分支创建新的分支创建一个dev分支并切换到该分支

git checkout -b dev
//或者分为两步:
git branch dev//创建一个分支
git checkout dev//将当前工作线切换到该分支
从远程分支拉取一个分支并新建本地分支对应
git checkout -b 本地分支名x origin/远程分支名x
或:
git fetch origin 远程分支名x:本地分支名x
但后者不能自动切换到该分支,需要手动checkout

2.创建完可以查看一下,分支是否已经切换到dev

git branch
如下显示:
* dev//*表示已经切换过来
master

3.创建远程仓库

(已经在github/bitbucket等上建立仓库则可省略)并将代码推送到远程仓
即建立一个bare仓库:
~/git/my_remote_repostory.git && cd ~/git/my_remote_repostory.git
git init –bare//创建bare仓库
ls//一般应有branches/ config description HEAD等文件或文件夹
mkdir ~/git/local_repository && cd ~/git/local_repository
git init
touch test.txt
git add . && git commit -m “Initial commit”
git remote add origin localhost:/home/yourname/git/remote_repository.git
git push -u origin master//推送成功
//————-分割线3.2————-
git push remote_repo local_branch:remote_branch

4.测试从远程获取dev

git pull origin dev

2.从远程仓复制到本地

获取远程指定分支并在本地新建对应的本地分支

git checkout -b localName origin/remoteName 

3.管理本地和远程分支:

3.1 列出分支情况

git branch
创建新分支:
git branch newbranch
列出本地和远程分支
git branch -a

3.2 更新本地存储的远程分支情况

(久没有涉及某项目时,该项目的其他参与人员可能新建了很多新的branch),因此需要在git branch -a之前先更新记录到本地
git remote update origin –prune

3.3 删除远程分支

git branch -d branch_name 删除本地分支(如果当前所在分支不是删除的分支,则要用git branch -D branch_name)
git branch -r -d branch_name 删除远程分支
(git branch -d -r origin/todo)
1.修改本地分支名:git branch -m oldbranch newbranch
2.删除远程 git push –delete origin devel
3.将本地推送到远程分支:git push origin develop

附录:

1.

如果不自己单独开一个branch,几个人的本地分支同时对应一个远程分支,则需要先* git pull*,将远程与本地版本进行同步,再进行git push更新。因为随着版本更迭,版本时间线是往前走的,如果你的master指针还指向旧的节点,就可能会出现“updates were rejected because the tip of current branch is its remote counterpart.”

2.

在进行上段中的git pull时,可能会出现
“no tracking information”的提示,则意味着远程分支与本地分支没有完全映射好。此时需要先将
将远程仓与本地当前分支联系起来:
git branch –set-upstream-to=origin/dev
此外也可以取消映射,比如:取消对master的跟踪
git branch –unset-upstream master

3 git fetch 与git pull的区别

git pull <远程主机名> <远程分支名>:<本地分支名>
git pull origin remote_branch:master
取回origin主机的remote_branch分支,与本地的master分支merge
git fetch 之前并不会将远程分支进行合并:
git pull =
1.git fetch origin master:localbranch//将远程master下载到本地
2.git diff tmp
3.git merge tmp

git fetch //取回所有远程分支,等同于 git fetch origin

git fetch origin master//取回远程的master分支
git merge origin/master//取回远程分支master并merge到本地当前分支
等同于:git pull origin master

更改本地仓库对应的远程仓库

git remote -v//列出与远程仓库对应情况
git remote set-url origin git@github.com:*.git(新的路径)
git remote -v//确认本地与远程的对应情况
此外,也可以:
git remote remove origin//删除与远程仓库的联系
git remote add origin git@github.com:*.git(新的路径)//
git remote用法很多,常用的还有:
git remote rename origin origin1//将别名origin改为origin1

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值