美文网首页
git基础概念和常用命令

git基础概念和常用命令

作者: ZzGo12 | 来源:发表于2018-06-10 14:37 被阅读0次

    IDEA右键能直接查看该文件git提交过往记录

    经验教训

    • 提交到master之前, 记住要先merge一下master, 然后再让master merge!!!

    常用命令

    • git clone 项目url(clone某个项目)
    • 删除远端分支:git push origin 【空格】【冒号】【你的分支名字】,比如我github上有master和feature分支,我现在想着删除feature分支,命令如下: git push origin :feature
    • 查看远程库: git remote(-v 显示详细信息)

    提交命令

    1. git status(查看项目状态)
    2. git add(添加文件)
    3. git commit(添加评论,并且将变更提交到本地工作区)
    4. git push origin branch(发布到远端服务器)

    删除文件

    1. git rm test.txt
    2. git commit -m "remove test.txt"

    分支相关

    1. git branch -r 查看远端分支
    2. git branch -a 查看本地分支和远程分支
    3. git branch [branch-name] 新建分支,但不切换
    4. git checkout -b [branch] 新建分支,并切换
    5. git checkout [branch-name] 切换到指定分支
    6. git branch --set-upstream-to [remote-branch] [branch] 在现有分支和远端分支之间建立关系
    7. git branch 查看当前分支
    8. git branch -d <name> 删除分支(-D 强行删除)
    9. git merge <name> 合并某分支到当前分支
    10. git checkout -b dev origin/dev(将远程分支dev拉取到本地的dev[未建立])

    解决冲突

    同一份代码, 提交的结果不一样, 如何裁定?

    1. git pull(将远端服务器的代码拉取下来)
    2. git diff(查看不一致的位置,并且修改)
    3. 再次重复提交命令。

    回到过去

    利用HEAD回到过去
    1. git log(查看git日志)
    2. git reset --(hard/soft) commit_id

    回到未来

    1. git reflog(查看所有的commit 和 reset 操作 包括已经删除的,git log不能查看已经删除的commit)
    2. git reset --(hard/soft) commit_id

    git概念

    • 版本控制管理工具(控制和管理代码)
    • 集中式版本控制(有一台中心服务器用来控制和管理版本,各个终端通过这个服务器来协同合作),分布式版本控制(每个终端都控制和管理自己独立的版本,需要协同合作的时候相互推送自己的版本,但实质上分布式也通常通过一个充当中心服务器的终端来协同合作)
    • 版本库:使用git init / git clone后, 会在文件夹中生成一个.git的隐藏文件夹, 这个文件夹(.git)就是一个git的版本库。文件夹里有.git文件夹里的修改删除将会被git追踪。
    • git版本回退
    • 工作区和暂存区:文件夹里排除.git文件夹 的东西被称为 工作区,而这个.git文件被称为 版本库。 工作区与版本库的关系 。 提交操作的实质
    • 撤销修改:1. 这个修改未add到暂存区, 撤销某个文件的修改 。2.这个修改已经add到暂存区, 先回退,再撤销
    • 添加远程库
    • 分支: 分支示意图

      。HEAD始终指向你当前分支的最新版本。创建一个新的分支,只不过是在原有分支的情况下多建立一个指针指向当前分支。

    • 解决冲突: 冲突merge示意图

      , 先进行merge, 如果两个版本有冲突的话, 将冲突的文件进行修改后add, commit,就自动合并了,然后选择性删除另一分支。

    • 使用fast-forward的merge结果
      不使用fast-forward的merge结果
    • 如果你在dev下开发一半,突然要切换到主分支,或者XX分支进行BUG修复,咋办呢?思路:1,先保存住工作区的内容 (git stash)。2,切换到某个分支(git checkout branch)。3, 搞出一个修复bug的分支(git checkout -b bugBranch)。4,解决问题,到主分支merge一下(git checkout branch、 git merge bugBranch)。5,继续开发你的dev(git checkout 、git status、 git stash pop)。
    • 当你clone一个项目的时候,git 会自动把本地的master分支和远程的master分支对应起来。远程仓库默认名字叫origin。
    • 多人协作小结
    • rebase TODO
    • 标签实质是一个commit,只不过名字比较好记。标签和一个commit一一对应。用来表示某个版本。 标签小结1 , 标签小结2
    • 忽略文件
    • 配置别名,修改用户目录下的.gitconfig文件。
    • git merge实质是两个分支的最新commit和最原始的commit(两个分支分开的地方)进行比对,如果如果没有操作冲突,就自动merge,否则需要修改

    相关文章

      网友评论

          本文标题:git基础概念和常用命令

          本文链接:https://www.haomeiwen.com/subject/caifeftx.html