git的基本操作

1 git和svn

git是分布式版本控制工具,svn则是集中式的,版本都是放在集中服务器上,开发人员需要自己从中央服务器下载最新版本。

提到集中式和分布式,最容易想到的就是单点故障问题,如果集中服务器出现了故障,那么就不可用了,但是分布式就不会存在这种问题。

2 工作流程

  1. 将代码从远程仓库克隆到本地仓库
  2. 将本地仓库的代码checkout到工作区
  3. 如果想到提交代码,把工作区的代码提交到暂存区,然后提交到本地仓库
  4. 如果想和成员共享代码,将代码push到远程仓库

3 常用命令

3.1 本地仓库

  1. 修改设置用户名和邮箱,这个设置是保存在本地的git配置文件中

  2. 获取git仓库

    1. 克隆远程仓库
    2. 在文件夹执行git init命令,出现git隐藏文件夹代表创建成功
  3. 相关概念

    1. 版本库:git隐藏文件夹,里面存放了配置、日志、文件版本等信息
    2. 工作目录:包含git隐藏文件夹的目录为工作目录
    3. 暂存区:git中的index文件,也称为stage,临时保存修改文件的地方
  4. 工作目录文件的状态:untracked未被纳入版本控制,unmodified未修改,staged已暂存 git status查看

  5. git add将untracked的加入stage,git reset取消暂存,git commit将暂存的内容提交到本地仓库,git rm删除文件:删除的只是工作区的文件,需要提交到本地仓库

  6. 忽略列表 在工作目录中创建gitignore隐藏文件夹,列出要忽略的文件模式

    # no .a files
    *.a
    # but do track lib.a, even though you're ignoring .a files above
    !lib.a
    # only ignore the TODO file in the current directory, not subdir/TODO
    /TODO
    # ignore all files in the build/ directory
    build/
    # ignore doc/notes.txt, but not doc/server/arch.txt
    doc/*.txt
    # ignore all .pdf files in the doc/ directory
    doc/**/*.pd
    
  7. git log查看日志记录

3.2 远程仓库

  1. 查看远程仓库 git remote
  2. 添加远程仓库 git remote add 引用简写 url
  3. 从远程仓库克隆git clone [url]
  4. 移除无效的远程仓库 git remote rm只是从本地移除远程仓库的记录,并不会真正影响到远程仓库
  5. 从远程仓库中抓取与拉取:git fetch 是从远程仓库获取最新版本到本地仓库,不会自动merge,合并git merge 仓库名/分支名;git pull 是从远程仓库获取最新版本并merge到本地仓库
  6. 推送到远程仓库git push [remote-name][branch-name]

3.3 分支

  1. master并无特殊之处,只是默认创建叫这个名字
  2. 新建分支git branch 分支名
  3. 切换分支 git checkout 分支名
  4. 推送至远程仓库分支 git push origin 分支名
  5. 合并分支 git merge 分支名:打开冲突的文件并修复冲突内容,最后执行git add命令来
    标识冲突已解决
  6. 删除分支 git branch -d 分支名,强制删除-D 删除远程git push origin –d branchName

3.4 标签

  1. 创建git tab 标签名
  2. 每一次提交都会产生唯一的hash值
  3. 检出标签 git checkout -b branch tag 一般检出标签的时候会创建一个新的分支指向它
  4. 删除git tab -d 标签名 ;删除远程仓库标签git push origin:refs/tags/标签名

3 在idea使用git

  • .idea隐藏文件和.iml文件,target文件夹不应该交给git管理

  • Git报错-refusing to merge unrelated histories 加上--allow-unrelated-histories

  • 存在冲突,但是我想合并两个分支:先修改冲突文件,git add git commit提交合并

  • 解除版本控制,删除git文件夹和vcs配置文件

【Git】如何在Idea中将自己的项目添加到Git上并且推送到远程仓库?

SSH协议

基于一对秘钥,公钥放在需要访问的服务器

posted @ 2021-02-23 18:42  小苏呀  阅读(96)  评论(0编辑  收藏  举报