Git学习总结

 

Git学习总结

学习笔记 Git


之前其实有稍微学习一点git,不过很久没用导致忘了很多,这次重新捡起来。

 

1.Git本地的创建和使用

  • 初始化仓库-git init,项目目录下生成.git隐藏文件夹即为git仓库,其中项目目录即为工作区,版本库中分为暂存区 stage 和分支版本库。 
    Git仓库
  • git add [filename] 即指将该文件加入暂存区中,而 git commit -m "commit message"则表示将暂存区中的内容加入仓库中。
  • 版本控制 
    • git status用于查看当前状态,若工作区无修改则会显示工作区为干净的。
    • git log显示 commit 的记录,git log --graph可以看到分支合并图。
    • git diff [filename]用户查看该文件修改前后的变化。
    • git reset --hard HEAD^可用于回滚到上一版本。git reflog查看命令历史。
    • git checkout -- file可以丢弃工作区的修改
    • 命令git reset HEAD file可以把暂存区的修改撤销掉(unstage),重新放回工作区,再使用git checkout -- file丢弃工作的修改。
  • 命令git rm用于删除一个文件,若发现误删, git checkout -- file用版本库中版本替换工作区中的版本,无论工作区是修改还是删除,都可以一键还原。
  • git branch -b <name>创建并切换分支,b应指buid的意思。删除分支:git branch -d <name>,切换分支:git checkout <name>注意跟用版本库中的内容替换工作区的命令区分。
  • 分支合并。git merge <name>,若有冲突git status提示冲突文件,手动解决冲突后再次合并即可。
  • 修复bug时,我们会通过创建新的bug分支进行修复,然后合并,最后删除; 
    当手头工作没有完成时,先把工作现场git stash一下,然后去修复bug,修复后,再git stash pop(git stash applygit stash drop来删除),回到工作现场。
  • 创建和删除分支速度非常快的原因是仅增加了一个新的分支指针。可使用下图进行理解。 
    理解分支
 

2.Git远程仓库的使用

  • 使用ssh-keygen -t rsa -C "youremail@example.com"创建SSH公钥和密钥,id_rsa和id_rsa.pub两个文件在C:Usersfengmanlou.ssh目录下。
  • 要关联一个远程库,使用命令git remote add origin git@server-name:path/repo-name.git,并会将当前的master分支与远程版本库的分支关联起来。若 origin 设置错误,使用git remote remove origin删除配置的远程版本库。
  • 关联后,使用命令git push -u origin master第一次推送master分支的所有内容;origin 即指此前设置好的远程版本库地址。
  • 每次本地提交后,只要有必要,就可以使用命令git push origin master推送最新修改;
  • 用git remote -v显示更详细的远程库信息
  • 团队合作的分支图如下: 
    实际工作
  • 多人协作的工作模式 
    1.首先,可以试图用git push origin branch-name推送自己的修改; 
    2.如果推送失败,则因为远程分支比你的本地更新,需要先用git pull试图合并; 
    3.如果合并有冲突,则解决冲突,并在本地提交; 
    4.没有冲突或者解决掉冲突后,再用git push origin branch-name推送就能成功!
  • 在本地创建和远程分支对应的分支,使用git checkout -b branch-name origin/branch-name,本地和远程分支的名称最好一致;
  • 建立本地分支和远程分支的关联,使用git branch --set-upstream branch-name origin/branch-name
 
 
 
    原文地址:https://www.cnblogs.com/fengmanlou/p/4804995.html