您的位置:首页 > 其它

Git使用(2)多人协作:与自己的远程仓库连接

2017-03-27 15:48 246 查看
(简单版本连接到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

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

列出本地分支:

git branch

创建新分支:

git branch newbranch

列出本地和远程分支

git branch -a

更新本地存储的远程分支情况(久没有涉及某项目时,该项目的其他参与人员可能新建了很多新的branch),因此需要在git branch -a之前先更新记录到本地

git remote update origin –prune

git branch -d branch_name 删除本地分支(如果当前所在分支不是删除的分支,则要用git branch -D branch_name)

git branch -r -d branch_name 删除远程分支

(git branch -d -r origin/todo)

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

git checkout origin/<
4000
span class="hljs-comment">remoteName -b localName


附录:

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 修改本地/远程分支名

1.修改本地分支名:git branch -m oldbranch newbranch

2.删除远程 git push –delete origin devel

3.将本地推送到远程分支:git push origin develop

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

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
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: