一、把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