文章目录
git 分支管理
经常使用的命令当中有一个 git branch –a 用来查看所有的分支,包括本地和远程的。但是时间长了你会发现有些分支在远程其实早就被删除了,但是在你本地依然可以看见这些被删除的分支。
你可以通过以下命令:查看有关于origin的一些信息,包括分支是否tracking。
git remote show origin
git 本地和远程回退到制定commit
// 查看最近个10commit回退命令:$ git reset --hard HEAD^
git clone XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXgit log -10
// 本地分支 退到/进到 指定的commit_id
$ git reset --hard commit_id
// 指定commit的sha码强推到远程
git push origin HEAD --force
新建分支(切换到 develop 分支新建):
// 1、创建本地分支
git branch feature_name
//2、创建本地分支并切换到分支:
git checkout -b feature_name
//3、将本地分支推送到远程分支
git push --set-upstream origin feature_name
删除分支:
注:删除之前先切换到其他分支
删除本地分支
// 1. 先切换到别的分支:
git checkout 其他分支
// 2. 删除本地分支:
git branch -d branch_name
// 3. 删除不了可以强制删除
git branch -D branch_name
删除远程分支
// 1. 有必要的情况下,删除远程分支:
git push origin --delete dev_20181018
// 2. 在从公用的仓库fetch代码:
git fetch origin dev20181018:dev_20181018
// 3. 然后切换分支即可:
git checkout dev_20181018
推送全过程:
// 1、创建本地分支 new_feature
git branch new_feature
// 2、创建本地分支new_feature 并切换到该分支
git checkout -b local_branch
// 3、切换到分支new_feature:
git checkout new_feature
// 4、推送本地分支new_feature到远程分支 remote_branch并建立关联关系
git push --set-upstream origin feature_name
// 5、new_feature分支代码合并(提交----合并)
git add . //提交该分支上的所有代码块
git commit -m 'flex --- end or add --- end'//提交说明
git status //查看是否提交
git push //本地分支代码合并到线上分支
git checkout develop ----> git pull // 切换到develop分支并拉去最新代码
git checkout new_feature // 切换到本地分支
git merge origin/develop //将新建分支 new_feature 合并到develop
git checkout develop ----> ggit merge origin/new_feature // 在develop分支将新分支的代码拉取过来
git status //查看是否合并成功
git push //将代码合并到远端
当前位置切换分支别的分支开发
多人开发时,会存在多个分支,每个人所在的分支也不一样
比如这时候我们需要切到别的分支改代码并上线时,因为这时候一直在当前分支做了有一些修改,业务流程也还没写完是不能 commit 的,遇到这样的场景,我们可以采用 git stash
在切换分支之前先进行当前分支暂存(git stash)
切换前后
// 将本地改动暂存到“栈”中
git stash
// 切换到需要更改的分支
git checkout feature_name
// 切换后先拉取feature_name分支最新的代码,这里便可以做修改并上线了
git pull
回到原来的分支继续开发
// 切换到原分支继续开发
git checkout feature
//查看当前放在栈里的所有文件
git stash show
// 将暂存到“栈”里面的代码取出来
git stash pop
git拉取远程分支最新数据
远程 分支:develop(最新代码)
本地 分支:feature(自己当前的分支)
需求:远程分支develop和自己的分支代码不一样,develop为最新的分支,需要将远程分支合并到本地
场景1:
// 每次在feature分支上工作的时候,获取Develop最新的代码
git fetch origin develop:develop
// 然后再把最新代码合并到你的本地工作分支feature
git merge develop
场景2:
在场景1执行 git merge develop 提示:
这时候我们需要执行以下操作:
// 将当前分支改动暂存到“栈”中
git stash
// 再把最新代码合并到你的本地工作分支feature
git merge develop
// 执行git看有没有拉取到最新的代码
git status
//提交拉取的最新代码后 push 下再将暂存到“栈”里面的代码取出来
git push
git stash pop//有冲突再根据本地需要的代码解决吧
git查看本地公钥,私钥的方式
进入git命令框输入 ls ~/.ssh 查看ssh目录下的文件
ls ~/.ssh
查看公钥 cat ~/.ssh/id_rsa.pub
cat ~/.ssh/id_rsa.pub