0%

git基础常用指令汇总

远程关联操作:

创建自己的仓库后,要关联一个远程库,使用命令git remote add origin git@server-name:path/repo-name.git;

关联后,使用命令git push -u origin master第一次推送master分支的所有内容;

此后,使用命令:git push origin '分支名称' 推送最新修改;

  • 克隆仓库:git clone git@github.com:GTIHUB账户名/仓库名.git
  • git remote -v 查看远程仓库详细信息
  • git branch - -set-upstream 分支名 origin/分支名 指定本地某分支与远程origin/某分支的链接
  • git pull 从服务器同步

本地操作:

  • git status 查看本地仓库状态

  • git add 'filename' 添加文件到本地缓存

  • git add -A 添加所有改动的文件

  • git commit -m 'commitment' 提交更改到本地并添加说明内容

  • 在仓库目录下输入:git init,把这个目录变成仓库

  • git log 显示近三次的更改

  • git log --graph --pretty=oneline --abbrev-commit 查看分支图形

  • git reset --hard HEAD^ 退到上个版本

  • git reset --hard 'SHA-1编码' 退到SHA-1编码表示的版本

  • git diff HEAD -- 'FILE' 查看工作区文件与版本库文件的不同之处(可以省略HEAD后内容)

    git checkout [选项] [<分支>] -- <文件>...

    -q, --quiet           不显示进度报告
    
    -b <分支>             创建并检出一个新的分支
    
    -B <分支>             创建/重置并检出一个分支
    
    -l                    为新的分支创建引用日志
    
    --detach              成为指向该提交的分离头指针
    
    -t, --track           为新的分支设置上游信息
    
    --orphan <新分支>     新的没有父提交的分支
    
    -2, --ours            对尚未合并的文件检出我们的版本
    
    -3, --theirs          对尚未合并的文件检出他们的版本
    
    -f, --force           强制检出(丢弃本地修改)
    
    -m, --merge           和新的分支执行三路合并
    
    --overwrite-ignore    更新忽略的文件(默认)
    
    --conflict <风格>     冲突输出风格(merge 或 diff3)
    
    -p, --patch           交互式挑选数据块
    
    --ignore-skip-worktree-bits 对路径不做稀疏检出的限制

git checkout -- 'readme.txt' 丢弃工作区的更改(后面--参数必须有)

对于提交到了暂存区的更改:先git reset HEAD file

删除文件时先直接把原文件删除。然后git rm '文件',然后commit。如果是误删除git checkout -- '刚才删掉的文件'

在用户个人目录下:ssh-keygen -t rsa -C 'youremail@***.com' 生成密钥

分支管理:

  • 查看分支:git branch
  • 创建分支:git branch name
  • 切换分支:git checkout name
  • 创建+切换分支:git checkout -b name
  • 合并某分支到当前分支:git merge name
  • 删除分支:git branch -d name 换成-D是强行删除
  • git merge --no-ff -m "merge with no-ff" dev 普通的合并模式

BUG 修复时用到的命令:

修复bug时,创建新的bug分支进行修复,然后合并,最后删除; 当手头工作没有完成时,先git stash一下,然后去修复bug,修复后,再git stash pop,回到工作现场。

  • git stash apply stash@{0} 恢复到指定的stash
  • git stash list 查看所有的stash现场
  • git stash pop 恢复工作并删除之前保存的现场
  • git stash 保存工作现场