做网站工资怎么样,在线做动漫图的网站,王烨个人简历,有意思的网站Git命令集合
1. 基本操作
1.1 创建版本库
初始化本地仓库#xff1a;git init添加文件到仓库#xff1a;git add | git add file file2… | git add.提交文件到本地仓库#xff1a;git commit -m “message”
1.2 版本回退
查看状态#xff1a; git status查看全部修改…Git命令集合
1. 基本操作
1.1 创建版本库
初始化本地仓库git init添加文件到仓库git add | git add file file2… | git add.提交文件到本地仓库git commit -m “message”
1.2 版本回退
查看状态 git status查看全部修改状态git diff查看指定文件修改内容git diff 回退到指定版本git reset --hard commit_id回退到上一个版本git reset --hard HEAD^回退到上上个版本git reset --hard HEAD^^回退n个版本git reset --hard HEAD~n查看详细提交历史git log查看简化提交历史git log --prettyonline查看分支合并图git log --graph查看命令历史git reflog
1.3 撤销修改 丢弃工作区的修改未提交值暂存区 git checkout – file git restore git checkout – . git restore . 丢弃已添加到暂存区的修改 git reset HEAD git restore --signed git reset HEAD . git restore --staged
1.4 删除文件 删除未添加到暂存区的文件: 显示将要删除的问加你和目录git clean -n 删除文件和目录git clean -df 删除文件git clean -f git rm
2. 远程仓库
2.1 添加远程仓库 关联远程仓库 git remote add origin 删除远程仓库 git remote rm origin 查看远程仓库 git remote -v 推送提交到远程仓库 git push origin master #一般用于非首次推送 git push -u origin master #-u参数是将本地master分支与远程仓库master分支关联起来一般用于第一次推送
2.2 从远程仓库克隆
git clone
3. 分支管理
3.1 创建与合并分支
查看分支git branch创建分支git branch 切换分支git checkout 创建并切换到该分支git checkout -b 合并指定分支到当前分支git merge 删除本地已合并分支git branch -d 删除远程分支git push 远程仓库名 --delete 远程分支名推送本地分支到远程仓库并在远程仓库创建新分支git push 远程仓库名 本地分支名:远程分支名
3.2 解决冲突
当Git无法自动合并分支时就必须首先解决冲突。解决冲突后再提交合并完成。
解决冲突就是把Git合并失败的文件手动编辑为我们希望的内容再提交。
查看分支合并图
git log --graph
冲突的产生一般都是这两种情况
远程仓库的代码落后于本地仓库远程仓库的代码远超本地仓库
说明
冲突是如何表示的
当产生合并冲突时该部分会以 , 和 表示。在 之前的部分是当前分支这边的情况在 之后的部分是传入分支的情况。
如何解决冲突
在看到冲突以后你可以选择以下两种方式
决定不合并。这时唯一要做的就是重置 index 到 HEAD 节点。 git merge --abort 用于这种情况。解决冲突。 Git 会标记冲突的地方解决完冲突的地方后使用 git add 加入到 index 中然后使用 git commit 产生合并节点。
你可以用以下工具来解决冲突:
使用合并工具。 git mergetool 将会调用一个可视化的合并工具来处理冲突合并。查看差异。 git diff 将会显示三路差异三路合并中所采用的三路比较算法。查看每个分支的差异。 git log --merge -p 将会显示 HEAD 版本和 MERGE_HEAD 版本的差异。 查看合并前的版本。 git show :1:文件名 显示共同祖先的版本 git show :2:文件名 显示当前分支的 HEAD 版本 git show :3:文件名 显示对方分支的MERGE_HEAD 版本。
3.3 Bug分支
暂存工作区状态git stash查看暂存的工作区状态git stash list恢复全部暂存状态但不删除暂存内容git stash apply恢复指定暂存状态但不删除暂存内容git stash apply stash{}删除暂存内容git stash drop恢复暂存状态同时删除暂存内容git stash pop复制一个特定的提交到当前分支git cherry-pick commit_id
说明
修复bug时我们会通过创建新的bug分支进行修复然后合并最后删除
当手头工作没有完成时先把工作现场 git stash 一下然后去修复bug修复后再 git stash pop
在master分支上修复的bug想要合并到当前dev分支可以用 git cherry-pick commit_id 命令把bug提交的修改“复制”到当前分支
3.4 Feature分支
强制删除分支会丢失分支上的修改git branch -D
说明
开发一个新feature最好新建一个分支
如果要丢弃一个没有被合并过的分支可以通过 git branch -D 强行删除。
3.5 多人协作 查看远程仓库信息git remote 查看远程仓库详细信息git remote -v 与远程仓库代码同步git pull # git pull git fetch git merge 在本地创建和远程分支对应的分支 git checkout -b branch-name origin/branch-name git switch -c branch-name origin/branch-name 将本地分支与远程仓库关联git branch --set-upstream-to origin/ 推送本地分支到远程仓库git push origin
3.6 Rebase变基
变基衍合git rebase 放弃变基git rebase --abort解决冲突之后继续变基git rebase --continue
说明
rebase操作可以把本地未push的分叉提交历史整理成直线
rebase的目的是使得我们在查看历史提交的变化时更容易因为分叉的提交需要三方对比。
4.标签管理
4.1 创建标签
新建标签指向最新的commit_idgit tag tag_name新建标签指向特定commit_idgit tag tag_name commit_id查看所有标签git tag显示某个标签的详细信息git show tag_name新建带有说明的标签git tag -a tag_name -m “说明” commit_id
4.2 操作标签
删除指定本地标签git tag -d tag_name删除指定远程标签git push origin :refs/tags/tag_name推送一个本地标签git push origin tag_name推送全部未推送过的本地标签git push origin --tags
5.git场景处理
5.1 fatal: refusing to merge unrelated histories
有时在pull或merge时会出现下述错误
fatal: refusing to merge unrelated histories
解决办法
git merge origin/master *--allow-unrelated-histories*结果如下
$ git merge origin/master *--allow-unrelated-histories*
Already up to date!
Merge made by the recursive strategy.只需要在命令的最后面添加 --allow-unrelated-histories 这句话是告诉Git允许不相关历史合并
5.2 git merge origin master与merge origin/master
git merge origin master和git merge origin/master的区别
# 将origin merge 到 master 上
git merge origin master# 将origin上的master分支 merge 到当前 branch 上
git merge origin/master