本文记录一些常用的命令:
查看项目的分支们(包括本地和远程)
命令行 :
$ git branch -a
删除本地分支
命令行 :
$ git branch -d <BranchName>
删除远程分支
命令行 :
$ git push origin --delete <BranchName>
远程开好分支,拉取到本地
git checkout -b feature-branch origin/feature-branch //检出远程的feature-branch分支到本地
本地开好分支,推到远程
git checkout -b feature-branch //创建并切换到分支feature-branch
git push origin feature-branch:feature-branch //推送本地的feature-branch(冒号前面的)分支到远
程origin的feature-branch(冒号后面的)分支(没有会自动创建)
从远程git上拉取某一个分支,然后报错,拉取不了这个分支。
解决
:重新拉取数据,git pull ,然后再切回分支
添加标签 并推送到远程
git tag 0.0.1
git push --tags
查看仓库
pod repo
添加远程索引
pod repo add 索引名 地址url
移除本地索引库
pod repo remove xxx
关联远程仓库
$ git remote add origin关联URL
查看提交记录
$ git log
$ git log --graph
如果在操作Git时,向远端推送了一次提交,可事后却发现本次提交是完全错误的,此时的策略就是在别人提交之前彻底移除这次提交。
回退之前,用git log可以查看提交历史,以便确定要回退到哪个版本。
HEAD指向的版本就是当前版本,因此,Git允许我们在版本的历史之间穿梭,使用命令 git reset --hard commit_id
要重返未来,用git reflog查看命令历史,以便确定要回到未来的哪个版本
$ git reset --hard HEAD~1
HEAD is now at 8954184 Create README.md
$ git push --force
Total 0 (delta 0), reused 0 (delta 0)
To github.com:yanchenmochen/ObjectToJsonPressureTest.git
+ 5722f80...8954184 master -> master (forced update)
切换分支、合并分支 之前:
- 要提交工作区里的内容到本地仓库!!!
提交到远程仓库之前:
先更新 git pull origin Dev
有些时候,当我们使用 git checkout <branchname> 命令切换分支的时候,有时会切换失败,然后出现以下的提示信息:
error: Your local changes to the following files would be overwritten by checkout:
TS_Component/TS_Component.xcworkspace/xcuserdata/tsoumac2016.xcuserdatad/UserInterfaceState.xcuserstate
Please commit your changes or stash them before you switch branches.
Aborting
解决方案:
//第一种方式 存到暂存区
git add.
git stash
//取出的时候使用
git stash pop
//第二种方式 发起一个commit 存到提交历史
git add.
git commit -m "commit message"
强制推送:
git push origin Dev --force
【git】强制覆盖本地代码(与git远程仓库保持一致)
git fetch --all
git reset --hard origin/Dev
git pull