拉取

 git pull

推送

 git push

查看分支

git branch

切换分支

git checkout 分支名

删除本地分支

git branch -d 分支名

使用如下git命令查看所有远程分支:

git branch -r

查看远程和本地所有分支:

git branch -a

二、拉取远程分支并创建本地分支
方法一
使用如下命令:

git checkout -b 本地分支名x origin/远程分支名x

使用该方式会在本地新建分支x,并自动切换到该本地分支x。

采用此种方法建立的本地分支会和远程分支建立映射关系。

方式二
使用如下命令:

git fetch origin 远程分支名x:本地分支名x

使用该方式会在本地新建分支x,但是不会自动切换到该本地分支x,需要手动checkout。

采用此种方法建立的本地分支不会和远程分支建立映射关系。
另一分支覆盖某个分支
假设每个人有个开发分支,想隔一段时间就把自己的开发分支上的代码保持和测试分支一直,则需要如下操作:

1.我想将test分支上的代码完全覆盖dev分支,首先切换到dev分支

git checkout dev

2.然后直接设置代码给远程的test分支上的代码

git reset --hard origin/test

3.执行上面的命令后dev分支上的代码就完全被test分支上的代码覆盖了,注意只是本地分支,这时候还需要将本地分支强行推到远程分支。

git push -f

出现“Merge made by the ‘recursive’ strategy.”,因为在本地提交后没有切换分支,直接pull代码,导致分支切换后拉取、合并出现问题,可在本地分支先执行“git rebase dev”,再切换远程分支pull代码

git rebase dev

输入git log可以查看提交的日志

commit后面接着的一连串字符就是你提交的ID,使用Git reset 加上commit ID就可以还原到你所需要的版本去.(commit ID很长,当然只需要输入前面5到6位字符既可)

git reset efce895

代码开发的时候,有时需要把某分支(比如develop分支)的某一次提交合并到另一分支(比如master分支),这就需要用到git cherry-pick命令。

首先,切换到develop分支,敲 git log 命令,查找需要合并的commit记录,比如commitID:7fcb3defff;

然后,切换到master分支,使用 git cherry-pick 7fcb3defff 命令,就把该条commit记录合并到了master分支,这只是在本地合并到了master分支;

最后,git push 提交到master远程,至此,就把develop分支的这条commit所涉及的更改合并到了master分支。
1、查看所有分支

git branch -a

2、查看当前所在分支

git branch

3、删除本地的bug_xzx分支

git branch -d bug_xzx

4、删除远程的bug_xzx分支

git push origin --delete bug_xzx

三、git 本地分支关联远程分支

情况一:远程有对应分支

git branch --set-upstream-to=origin/remote_branch your_branch

其中,origin/remote_branch是你本地分支对应的远程分支;your_branch是你当前的本地分支。

情况二:远程无对应的分支

1.新建一个本地的分支

git branch -b newbranch   //这个命令是新建一个分支,并切换到该分支上去

(git branch newbranch; git checkout newbranch)这两个命令合起来等同于上面的一个命令

2.新建一个远程分支(同名字的远程分支)

git push origin newbranch:newbranch   //创建了一个远程分支名字叫 newbranch

3.把本地的新分支,和远程的新分支关联

git push --set-upstream origin newbranch

取消某次提交
一般有两种方案:reset和revert。

reset:会清除掉commit历史,使得提交记录更干净些。 revert:会重新创建一个commit,追加到commit历史。

建议采用revert这样如果撤销同样有问题的话,可以再次将最新的revert的commit撤销,安全一些。

操作

git revert <commit-id>

远程的Git密码修改后,本地的AndroidStudio,代码无法提交,提示push失败。

在可以git pull,git fetch,git rebase,git commit的情况下,无法push代码。

环境配置:windows10 【一个管理员admin运行但cmd时,没有管理员权限,会permission denied的坑爹场景

解决方案:

1.  命令: git config --system --unset credential.helper

把之前的账号记录给清空咯,重新设置一遍。

但倒霉孩子容易碰到: error: could not lock config file C:/Program Files/Git/mingw64/etc/gitconfig: Permission denied

这种情况下,获取管理员权限再输入命令,可以解决。

2.如果你使用的是AndroidStudio,在File =》 Settings =》PassWord 勾选Do not save,forget passwords after restart

然后你再搞提交,AS会提示要你重新输入账户密码信息

3.如果以上两个方法都失败了,而你恰巧是windows系统

控制面板 =》用户账户 =》 凭据管理器 =》 windows凭据 在里面找到你那个git账户的凭据,把密码给改了,就好了。
记住密码

git config --global credential.helper store
Logo

开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!

更多推荐