git使用技巧总结

一、把github上的代码下载下来

git clone ......

 下载代码,并更新子模块

git clone ....
//更新.git/config文件
git submodule init
git submodule update

 或者

git clone git@github.com:SprintRay-Software/Moonray.git --recursive

二、把修改的代码提交上去

git add ....
git commit -m "........"
git push -u origin master

三、强制切换成某个版本

git reset --hard .....commit code .......

四、创建分支

git checkout -b .... branch name ....
git add .......
git commit -m ........
git push -u origin ......branch name ......

四、切换成最新版本

git pull

五、放弃本地修改,远程分支强制覆盖本地

git fetch --all    //只是下载代码到本地,不进行合并操作
git reset --hard origin/分支名如master    //把HEAD指向最新下载的版本

 六、git网页上删除分支后本地不同步

踩到一个小坑,如果在gitlab或其他web端删除git某分支,本地pull的话并不会更新分支列表,也就是会出现远端分支A已经被删掉了,但是在本地git bash里面仍然能看到远端分支A这种灵异的情况。本地使用branch -a 命令可以看到分支FixIECompatible,并且还可以检出。但是想删除远端分支的时候就报错了,说分支不存在(事实上远端就是不存在)。
可用如下命令刷新分支列表,可解决此问题

可用如下命令刷新分支列表,可解决此问题
    git remote update origin --prune
另外还可使用如下方法查看需要清理的本地分支
    git remote prune origin --dry-run
或
    git remote prune origin -n

 七、代码修改完后如何提交

1.先需要把需要合并的分支,更新到最新

2.把自己写好的分支合并进需要合并的分支

3.git会自动合并代码,如果有冲突需要手动修改冲突。

4.修改完冲突,在自己的分支add和commit一下,并push

5.在git网页中提交pull requset

git checkout development
git pull
git checkout DRS-478_updateTime
git merge development
git submodule update
git status
git add MoonrayUI.pro
git commit -m "resolve confilict"
git push

八、从分支中创建分支

创建并切换到分支

git checkout –b 分支名称 

 从某个commit开始创建分支

git checkout -b 分支名称 commitID

九、项目中修改了子模块

项目需要add子模块目录,把新的commit id上传上去。

QTCreator中打开子模块的文件后,选择git commit就可以上传子模块。

上传好子模块就又新的commit id,然后再主项目中add时增加那个目录的commit id就好了。

十、git显示一行commitid

git log --pretty=one

十一、一台电脑用两个git

https://blog.csdn.net/ziwuzhulin/article/details/90400789

原文地址:https://www.cnblogs.com/ch122633/p/10470543.html