在Mac上Git的使用(三)
1、放弃某次提交,重新提交(Abandoned之后的操作)git loggit reset 指定的版本号git add -Agit commit -m"修改描述"2、提交本地修改的部分文件到远程库git add 文件本地完整路径git commit -m"修改描述”git stash (把不愿意提交的文件存入本地备份中)git review 分支名称git sta..
1、放弃某次提交,重新提交(Abandoned之后的操作)
git log
git reset 指定的版本号
git add -A
git commit -m"修改描述"
2、提交本地修改的部分文件到远程库
git add 文件本地完整路径
git commit -m"修改描述”
git stash (把不愿意提交的文件存入本地备份中)
git review 分支名称
git stash pop(把你之前不愿意提交的文件pop出来)
3、解决文件内容冲突,提交代码到远程库
1、合并远程库与本地的代码
git status
git stash
git pull
git stash pop
2、若有冲突,解决完冲突后,执行
git add -A
git commit -m"修改描述"
git review 分支名称
4、遇到如下问题的解决办法:
解决办法:
git reset --hard HEAD^ // 回到上一个版本
git clean -f -d // clear untracked working tree file
git pull // 重新从远程仓库上获取更新内容
注:在执行git clean -f -d 命令前,未跟踪的文件要记的做备份。
将本地的代码上传到github上:
git add .
git commit -m"init submit code"
git remote add origin https://github.com/hpdx/MLog.git
git pull origin master
git push origin master
git push --set-upstream origin master
在执行git pull origin master
时若报如下错误:
fatal: refusing to merge unrelated histories
请改用如下命令:
git pull origin master --allow-unrelated-histories
新建了一个Module(lib),忘记添加.gitignore文件,结果同事pull的代码,编译后发现一大堆不想看到的build文件,
若想以后不再看见它,这时需要每个更新了代码的人都做的处理如下:
git rm -r --cached wheelview/build
git 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 push
error: 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 tag
dev_1.0
dev_1.2
dev_1.3
android-lstekiMacBook-Pro:HungerDating android_ls$ git tag -d dev_1.3
Deleted tag 'dev_1.3' (was b70c097)
android-lstekiMacBook-Pro:HungerDating android_ls$ git push
Counting 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 master
git merge dev_1.8
git commit -m "commit dev_1.8"
git push
创建tag并提交到远程
git tag -a tag_1.11 -m "commit v1.11"
git push --tags
开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!
更多推荐
所有评论(0)