git 常用command, 以及碰到的case

来源:互联网 发布:电玩战魂赫卡里姆淘宝 编辑:程序博客网 时间:2024/06/03 13:15

[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.已经提交了不合适的修改到版本库时,想要撤销本次提交,参考版本回退一节,
不过前提是没有推送到远程库。

0 0
原创粉丝点击