在Mac上Git的使用(三)

来源:互联网 发布:巴黎 地图 知乎 编辑:程序博客网 时间:2024/05/17 22:01

1、放弃某次提交,重新提交(Abandoned之后的操作)

git loggit reset 指定的版本号git add -Agit commit -m"修改描述"

2、提交本地修改的部分文件到远程库

git add 文件本地完整路径git commit -m"修改描述”git stash (把不愿意提交的文件存入本地备份中)git review 分支名称git stash pop(把你之前不愿意提交的文件pop出来)

3、解决文件内容冲突,提交代码到远程库
1、合并远程库与本地的代码

git statusgit stashgit pullgit stash pop

2、若有冲突,解决完冲突后,执行

git add -Agit commit -m"修改描述"git review 分支名称

4、遇到如下问题的解决办法:
这里写图片描述

解决办法:

git reset --hard HEAD^ // 回到上一个版本git clean -f -d // clear untracked working tree filegit pull // 重新从远程仓库上获取更新内容

注:在执行git clean -f -d 命令前,未跟踪的文件要记的做备份。

将本地的代码上传到github上:

git add .git commit -m"init submit code"git remote add origin https://github.com/hpdx/MLog.gitgit pull origin mastergit push origin mastergit push --set-upstream origin master

新建了一个Module(lib),忘记添加.gitignore文件,结果同事pull的代码,编译后发现一大堆不想看到的build文件,
若想以后不再看见它,这时需要每个更新了代码的人都做的处理如下:

git rm -r --cached wheelview/buildgit add .git commit -m"rm build files"git push

其中wheelview为Module的名称

git stash删除后,有办法恢复吗首先输入git fsck --lost-found
会看到 一条一条的记录 类似    dangling commit 7010e0447be96627fde29961d420d887533d7796复制dangling commit 的id(其他的dangling blob不用理会)然后输入git show 7010e0447be96627fde29961d420d887533d7796    查看具体内容, 找到你想要的记录    记录中会描述日期和摘要,    日期是你git stash 的日期,     摘要会记录你是在哪一条commit 上进行git stash操作的,     类似(WIP on integration-xf: 2e205ac Merge branch 'release' into develop)    貌似只能一条记录一条记录的查看找到你想要的记录后输入git merge 7010e0447be96627fde29961d420d887533d7796这样就还原了你git stash drop, git stash clear  的内容

push代码的时候,报出了如下错误:

android-lstekiMacBook-Pro:HungerDating android_ls$ git pusherror: src refspec dev_1.3 matches more than one.error: failed to push some refs to 'git@192.168.90.252:Android/HungerDating.git'

解决办法:

android-lstekiMacBook-Pro:HungerDating android_ls$ git tagdev_1.0dev_1.2dev_1.3android-lstekiMacBook-Pro:HungerDating android_ls$ git tag -d dev_1.3Deleted tag 'dev_1.3' (was b70c097)android-lstekiMacBook-Pro:HungerDating android_ls$ git pushCounting objects: 20, done.Delta compression using up to 8 threads.Compressing objects: 100% (16/16), done.Writing objects: 100% (20/20), 4.49 KiB | 0 bytes/s, done.Total 20 (delta 13), reused 1 (delta 0)To git@192.168.90.252:Android/HungerDating.git   0a5eb40..03f4841  dev_1.3 -> dev_1.3

checkout远程的dev分支,在本地起名为dev分支,并切换到本地的dev分支

git checkout -b develop_version96 origin/develop_version96

将本地分支推送到远程仓库

git push origin dev_1.9

合并分支到master上,先切换分支到master上,在merge目标分支到master上

git checkout mastergit merge dev_1.8git commit -m "commit dev_1.8"git push

创建tag并提交到远程

 git tag -a tag_1.11 -m "commit v1.11" git push --tags
原创粉丝点击