在Mac上Git的常用技巧总结
程序员文章站
2022-04-26 12:41:25
在mac上git的常用技巧总结。
1、放弃某次提交,重新提交(abandoned之后的操作)
git log
git reset 指定的版本号
git add -a
git commit...
在mac上git的常用技巧总结。
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
新建了一个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