关联远程分支
git branch –set-upstream master origin/master origin: 远程库
原因是之前有添加远程repo
我们来查看一下
git branch -av
注:红色的字体表示远程的repo
删除远程repo (使用命令或者修改配置文件)
1.使用命令
git remote rm origin
2.修改.git/config配置文件
注:去掉对应的远程repo
什么现在再来看一下分支结构
git branch -av
注:远程repo已经被删除
现在我们再来添加远程repo
git remote add origin url
注:url 表示具体的地址
git reset [–soft][–mixed][–hard]
git reset --soft HEAD^^ or HEAD~~
回退2个版本,将这次提交之后的所有变更都移动到暂存区
git reset --mixed HEAD^^ or HEAD~~
回退2个版本,且会重置暂存区,即这次提交之后的所有变更都移动到未暂存阶段
–mixed 默认的参数
git reset --hard HEAD^^ or HEAD~~
回退2个版本,会重置暂存区,并且会将工作区代码也回退到这个版本
创建远程分支
git push origin dev:dev
origin:远程仓库 本地分支:远程分支
本地分支关联远程分支
git branch --set-upstream debug origin/debug
git rebase (解决冲突)
git add .
git rebase –continue
删除远程分支
删除前
git push origin --delete test
or
git push origin :test //推一个空分支 相当于删除
注: 删除origin远程主机的 test分支
最后看结果
[git]
git add <file> 文件添加到暂存区git checkout -- file 可以丢弃工作区的修改git reset HEAD file 把暂存区的修改回退到工作区(HEAD,表示最新的版本)git remote add origin git@server-name:path/repo-name.git 关联一个远程库git branch <name> 创建分支git checkout <name> 切换分支git fetch <branch name> 下载数据git rebase <branch name> 打补丁的方式合并分支git merge [--no-commit] [--squash] <branch name> 合并分支(--no-commit:无需自动生成和记录提交; --squash:将所有更改都作用到当前分支)git branch -D <branch name> 强行删除分支
**git checkout -b test
git push origin test 这样远程仓库中也就创建了一个test分支
git push –set-upstream origin test 关联远程test分支**
git push origin <branch name> 推送分支git diff (没有暂存)查看从上次提交之前你做了什么git diff <id> "master~2" 查看特定版本与倒数第二个变更git diff --cached(或--staged) 暂存起来的文件和上次提交时的快照之间的差异git log 查看提交历史git log --pretty --author=<name> 查看指定作者的提交记录git log --pretty <file> 查看指定文件的提交记录git reflog 查看你每一次命令(回退版本)git reset --hard <commit_id> 回退版本--soft 修改的信息还在暂存区--mixed(默认) 修改的信息在工作区git revert <id> 撤销到这个idgit commit --amend 修改提交的信息ignored 对git来说不存在)git cherry-pick <commit id> 把另一个本地分支的commit修改作用到当前分支--abort 终止将提交到该分支--continue 继续将提交放到该分支, 可能存在冲突git clean -fd 强制清除未跟踪文件|当前分支还没有完成,需要先去修复bug|git stash 可以把当前工作现场“储藏”起来,等以后恢复现场后继续工作git stash pop 恢复的同时把stash内容也删了git stash apply stash@{0} 恢复指定的stash,但是恢复后,stash内容并不删除,你需要用git stash drop来删除|创建标签|git tag <name> 用于新建一个标签,默认为HEAD,也可以指定一个commit idgit tag -a <tagname> -m "blablabla..." 可以指定标签信息git tag 可以查看所有标签git push origin <tagname> 可以推送一个本地标签git push origin --tags 可以推送全部未推送过的本地标签git tag -d <tagname> 可以删除一个本地标签git push origin :refs/tags/<tagname> 可以删除一个远程标签|case| 1.合并本地的2个仓库,大致思路是伪造远程的repo1仓库为repo2的一个分支,然后合并进来;若是文件有冲突、或要建立子目录,建议在repo1中先解决,再进行如上操作。2.当你改乱了工作区某个文件的内容,想直接丢弃工作区的修改时,用命令git checkout -- file。
第一步用命令git reset HEAD file,就回到了场景1,第二步按场景1操作。
4.已经提交了不合适的修改到版本库时,想要撤销本次提交,参考版本回退一节,
不过前提是没有推送到远程库。