1.切换和创建本地分支
示例为切换到本地dev分支
git checkout dev
git branch dev_qjf # 创建名为 dev_qjf 的新分支
git checkout dev_qjf # 切换到 dev_qjf 分支上
2.将本地仓库与远程仓库进行关联
git remote add origin <remote_repository_URL>
这种情况适用于之前创建了本地仓库的情况(git init命令),其他创建本地仓库的方式如git clone不再详述。
origin是将远程仓库起了一个名字,即引用名称,方便命令操作。
git push -u origin dev:dev_qjf
将本地的 dev
分支设置为推送到远程的 dev_qjf
分支。
这是初次push。
-u
是 git push
命令的一个参数,它是 --set-upstream
的简写形式。这个参数的作用是设置本地分支跟踪远程分支,即建立本地分支和远程分支之间的关联。
这样以后再推送或拉取时就不需要指定远程分支了,就可以使用下面第3点提到的省略形式了。
3.本地仓库与远程仓库(origin)的交互,即本地分支与远程分支pull与push操作
前置操作add和commit
git add .
git commit -m "Your commit message"
git add . 表示将当前目录下所有文件添加到暂存区。
git commit -m "Your commit message" 表示将暂存区内容提交到本地仓库,双引号里面内容简述一下这次提交的代码的主要功能或修改。
注意
以下分支名称容易混淆
本地分支:dev (本地目前只创建了这一个分支)
远程仓库分支:dev dev_qjf (目前一般只从dev主分支pull代码,只向dev_qjf 分支push代码)
pull操作
git pull origin dev:dev
从远程分支dev拉取代码,并指定合并到本地分支dev。
git pull origin dev
省略形式,从远程分支dev拉取代码,合并到本地默认分支。
push操作
git push origin dev:dev_qjf
将本地dev分支推送,推送到指定的远程仓库的远程dev_qjf分支
git push origin dev
省略形式,将本地dev分支推送,推送到远程仓库的默认分支
混淆点
对于pull和push操作里的 a:b 前后内容要分清,省略形式永远是省略的 b。
pull: a:b,a是远程分支,b是本地分支。
push:a:b,a是本地分支,b是远程分支,反过来了。
4.删除
删除origin,断开连接
git remote rm origin
删除本地分支dev_test。注意!! 删除dev_test 之前一定要先切换到其他分支,否则删除不了。
git branch -d dev_test
5.产生冲突解决方法 (有问题,不做参考)
产生冲突问题原因示例:
团队的代码在管理平台上有一个总的分支dev,每个人有一个各自的分支dev_加首字母,自己分支是dev_qjf,每个人pull代码是从dev上拉下来的,push代码是向自己的分分支例如dev_qjf分支上上传的,然后经过管理员将个人的分支合并到dev上。假如昨天有人push了代码上去并被合并到了dev里,而自己是在昨天之前的平台上的dev上pull下的代码并进行了修改,今天再次利用git pull origin dev下拉报错说有冲突,因为如果直接拉下来自己修改的部分会被覆盖重写。
解决方法:
暂存当前修改:使用 git stash
暂存你当前的修改,以便你可以拉取最新的 dev
分支代码。
git stash
从远程 dev
分支拉取最新代码:拉取远程 dev
分支的最新代码并合并到本地。
git pull origin dev
应用暂存的修改:将你之前暂存的修改重新应用到代码中。
git stash pop
下面就是add commit push提交了。