创建分支dev

//简洁版命令
git checkout -b dev
//等价的命令
git branch dev
git checkout dev

合并分支dev

//如果你想把dev分支合并到master分支,需要先切换到master分支
git checkout master
//然后再合并
git merge dev

add a new remote:

git remote add origin [email protected]:User/UserRepo.git

change the url of an existing remote repository:

git remote set-url origin [email protected]:User/UserRepo.git

关于origin

origin is not the remote repository name. It is rather a local alias set as a key in place of the remote repository URL.

It avoids the user having to type the whole remote URL when prompting a push.

This name is set by default and for convention by Git when cloning from a remote for the first time.

This alias name is not hard coded and could be changed using following command prompt:

git remote rename origin myNewAlias

pull远程dev分支到本地:

//远程主机有一个dev分支,本地没有,只有master,那就要在本地新建一个
1.将某个远程主机的取回本地:git pull origin dev(远程dev):dev(本地dev)
其实如果本地没有设置origin,可以直接是git pull repo-url dev:dev
例如: git pull [email protected]:edooward/dewitt-guam qa:qa

其实如果本地有一个分支,比如是qa,但远程没有,就可以用这样的命令来把本地的分支push到远程:
git push [email protected]:guiyumin2/dewitt-guam qa:qa

2.查看远程分支:git branch -a

3.查看本地分支:git branch

4.切换分支:git checkout dev

删除本地分支:

// -d 或 --delete 均可,删除已经merge了的分支
git branch -d <branchname>

//强制删除,不管它有没有merge
// -D 其实就是 --delete --force
git branch -D <branchname>

删除远程分支:

git push --delete origin <branchname>

有时会出现这样的情况,某个分支在远程仓库其实已经删除,但本地使用git branch --all这个命令还可以看得到,而且一般都是红色字体。
怎么清楚这样的记录呢?

假如我直接到gitlab/github删除了某个分支,我在本地使用git branch -a查看远程分支,依然存在并且可以切换使用。我本地也想把远程分支记录删除怎么办?
1.git branch -a查看远程分支,红色的是本地远程远程分支记录。

2.执行下面命令查看远程仓库分支和本地仓库的远程分支记录的对应关系:

  git remote show origin  

3.会看到:
 
 refs/remotes/origin/远程仓库已经删除的分支名 stale (use 'git remote prune' to remove)

 其中:

 Local refs configured for 'git push':  命令下面的分支是本地仓库的远程分支记录中仍存在的分支,但远程仓库已经不存在。

4.输入git remote prune origin来删除远程仓库已经删除过的分支

5.验证 git branch -a

  此时可以看到本地远程分支记录已经和远程仓库保持一致了。

作者:YINdevelop
链接:https://www.jianshu.com/p/811b07b129e8
來源:简书
简书著作权归作者所有,任何形式的转载都请联系作者获得授权并注明出处。

标签: git, branch

添加新评论