Git的使用 和 问题总结

clone远程分支

1、clone远程分支, master分支,如

git clone https://github.com/Anny-github/AVPlayerDemo.git

2、clone远程分支,master之外的分支: git clone -b ,如

git clone -b 2.9.0 https://github.com/Anny-github/AVPlayerDemo.git

3、checkout一个与远程分支对应的本地分支

git checkout -b 2.9.0  origin/2.9.0

创建和管理分支

查看本地分支 :git branch 全部分支:git branch -a

本地分支

1、创建分支并切换到此分支: git checkout -b newBranch
2、创建分支:git branch newBranch 切换到此分支:git checkout newBranch
3、将新分支合并到master分支 ,先切换到master分支:git checkout master,再合并: git merge newBranch
4、 删除分支: git branch -d newBranch

远程分支

1、创建远程分支(创建本地分支2.6.0并push到远程2.6.0分支):
git push origin : 如:

git  push  origin  2.6.0 : 2.6.0

2、删除: git push origin : local_branch_name为空就表示删除,如:

git push origin  :2.6.0

撤销操作

1、撤销commit操作

git log      //打印commit记录,
git reflog  //也是打印commit记录,更整齐
Git的使用 和 问题总结_第1张图片
屏幕快照 2017-09-17 下午12.39.49.png
//只回退commit的信息,保留修改代码
git reset --soft head^   //回退到上个版本
git reset --soft 4abf5d  //回退到某个commit,
//不保留修改,直接回退到那个commit
git reset --hard head^  
git reset --hard 4abf5d 
//参数commitId(只要能区分开是哪个commit就可以,可以只取commitId的前几位数)

2、本地代码回退到与git远程仓库保持一致

git reset --hard 远程分支名

3、push的撤销

git log              //查看commit的信息
git revert  id    //以前commit的id
git push           //此时本地回滚的代码到服务器就可以了

git账户管理

在GitHub或者其他托管平台上管理代码的时候,是需要对应平台的账户才能进行代码管理的,当远程clone代码到本地,在第一次上传的时候就会提示认证账户

git config --global user.name “lisi“
git config --global user.email “**********@163.com”

通过上面这个方法关联的是全局账户,就是不管你clone哪个项目默认都是用的这个账户,但是在某些情况下,比如,公司的项目你用的是公司邮箱关联的,但是同时又希望能在GitHub上维护自己的项目,来回切换git账户会带来诸多不便,这时,可以在工程文件夹下,终端使用命令:

 git config  user.name “lisi"
 git config  user.email “**********@163.com”

上面这个方法关联的是局部账户,此账户只对应此文件夹下的这个工程

实际开发中常用命令

1、提交代码

git  add .    
git commit -m "提交的说明内容"
git pull
git push

2、Git 合并远程分支
2.1 先合并本地分支

1、把源码clone到本地库中。
git clone http://*************.git
2、在本地新建一个与远程的0.2版本相同(被合并的版本)的0.2分支 
git checkout -b 0.2 origin/0.2
3、返回到master版本 
git checkout master
4、把本地的0.2合并到master 
git merge 0.2

2.2 把合并好的本地分支push到对应的远程分支

git使用中遇到的问题

1、error: RPC failed; curl 18 transfer closed with outstanding read data
remaining
fatal: The remote end hung up unexpectedly
fatal: early EOF
fatal: index-pack failed
解决方法:git config --global http.postBuffer 524288000
需要注意的是http.postBuffer 后,单位是b,524288000B也就500M左右,我试过比这个小的值,发现不行,又试这个值发现可以了

你可能感兴趣的:(Git的使用 和 问题总结)