git使用笔记

来源:互联网 发布:matlab 未知数矩阵 编辑:程序博客网 时间:2024/06/07 03:13

名称解释

  1. 工作区(Working Directory):在电脑里能看到的目录
  2. 版本库(Repository):工作区有一个隐藏目录.git,这个不算工作区,而是Git的版本库。

基本使用

  1. 把文件修改添加到暂存区:git add
  2. 把暂存区的所有内容提交到当前分支:git commit -m “…”
  3. 把工作区的修改撤销掉:git checkout –
  4. 把暂存区的修改撤销掉:git reset HEAD

git stash

git stash: 备份当前的工作区的内容,从最近的一次提交中读取相关内容,让工作区保证和上次提交的内容一致。同时,将当前的工作区内容保存到Git栈中。
git stash pop: 从Git栈中读取最近一次保存的内容,恢复工作区的相关内容。由于可能存在多个Stash的内容,所以用栈来管理,pop会从最近的一个stash中读取内容并恢复。
git stash list: 显示Git栈内的所有备份,可以利用这个列表来决定从那个地方恢复。
git stash clear: 清空Git栈。此时使用gitg等图形化工具会发现,原来stash的哪些节点都消失了。

版本穿梭

  1. git reset –hard commit_id
    –hard 将index、工作区、head恢复到指定commit_id
    –soft 将head恢复到指定commit_id
  2. HEAD当前版本,HEAD^上一版本,HEAD^^上上一版本,HEAD~100上100个版本
  3. 穿梭前可用git log –pretty=oneline查看历史版本
  4. 重返未来可以git reflog查看命令历史
  5. 回退之后强制提交git push -f

创建与合并分支

  1. Git鼓励大量使用分支:
  2. 查看分支:git branch
  3. 创建分支:git branch
  4. 切换分支:git checkout
  5. 创建+切换分支:git checkout -b
  6. 合并某分支到当前分支:git merge
  7. 删除分支:git branch -d

解决冲突

  1. 合并分支:git merge
  2. 当Git无法自动合并分支时,就必须首先解决冲突。解决冲突后,再提交,合并完成。
  3. 用git log –graph命令可以看到分支合并图。

多人协作

  1. 查看远程库信息,使用git remote -v;
  2. 本地新建的分支如果不推送到远程,对其他人就是不可见的;
  3. 从本地推送分支,使用git push origin branch-name,如果推送失败,先用git pull抓取远程的新提交;
  4. 在本地创建和远程分支对应的分支,使用git checkout -b branch-name origin/branch-name,本地和远程分支的名称最好一致;
    若报错:xxx is not a commit and a branch xxx cannot be created from it,使用git fetch origin
  5. 建立本地分支和远程分支的关联,使用git branch –set-upstream branch-name origin/branch-name;
    新版命令:git branch –set-upstream-to=origin/branch-name
  6. 从远程抓取分支,使用git pull,如果有冲突,要先处理冲突。