美文网首页
Git 使用总结

Git 使用总结

作者: LittleSakana | 来源:发表于2016-11-23 13:59 被阅读48次

    所有的版本控制系统,其实只能跟踪文本文件的改动,比如TXT文件,网页,所有的程序代码等等,Git也不例外。而图片、视频这些二进制文件,虽然也能由版本控制系统管理,但没法跟踪文件的变化。

    不幸的是,Microsoft的Word格式是二进制格式,因此,版本控制系统是没法跟踪Word文件的改动的。

    Git 常用基础命令合集

    创建

    git init 创建空的repository

    git add fileName 添加修改的文件,把文件修改添加到暂存区

    git commit -m '提交的消息' 把暂存区的所有内容提交到当前分支

    git diff commitId1 commitId2 查看两次提交的区别

    git diff commitId1:fileName commitId2:fileName 查看两次提交的文件的区别

    分支

    git branch 查看分支

    git branch branchName 创建分支

    git checkout branchName 切换到branchName分支

    git checkout -b branchName创建并切换到branchName分支

    git checkout -b branch-name origin/branch-name 在本地创建和远程分支对应的分支

    git merge branchName 把branchName分支合并到当前分支

    git branch -d branchName 删除branchName分支,注意不要在branchName分支上做这个操作

    git branch --set-upstream branch-name origin/branch-name 建立本地分支和远程分支的关联

    查看修改

    git status 查看当前状态,有哪些改动

    git diff fileName 查看文件修改的内容

    git diff HEAD -- fileName 查看文件fileName工作区和版本库最新版本的区别

    撤销修改

    git reset --mixed 把已经添加到暂存区的修改撤回,改为非暂存状态

    git reset --hard commit_id 回滚到commit_id的commit

    git checkout -- fileName 撤销fileName文件在工作区的修改,注意--不要丢掉,回到添加到暂存区后的状态

    git reset HEAD fileName 把暂存区的fileName的修改撤销掉

    查看提交历史

    git log 查看提交历史

    git log --pretty=oneline 查看log,一行一行地显示

    git reflog 查看git操作记录

    创建ssh key

    ssh-keygen -t rsa -C "youremail@example.com" //生成一对公钥id_rsa.pub 私钥id_rsa

    cat ~/.ssh/id_rsa.pub //查看生成的公钥

    远程仓库

    Git支持多种协议,包括https,但通过ssh支持的原生git协议速度最快

    git remote add origin remoteUrl 远程建了一个空仓库,连接本地到远程(remoteUrl是远程仓库的地址)

    git push origin master 把本地分支master 推送到远程

    git clone remoteUrl 克隆一个远程已存在的仓库到本地(remoteUrl是远程仓库的地址)

    标签管理

    git tag tagName 为当前分支打名字为tagName的标签,默认标签是打在最新提交的commit上

    git tag tagName commit_id 在commit_id上打tag,适用于忘记打tag的情况

    git tag -a tagName -m "blablabla..." 打标签指定标签信息

    git show tagName 查看tag的说明

    git tag -d tagName 删除本地标签tagName

    git push origin tagName 把标签推送到远程

    git push origin --tags 推送所有标签到远程

    git push origin :refs/tags/tagName 删除远程的标签tagName

    git tag --list 查看所有tag

    git checkout -b tagBranch tagName 检出tag代码

    Git 命令进阶

    修改提交message

    #Commit has not been pushed online

    git commit --amend

    #Amending the message of the most recently pushed commit

    git commit --amend

    git push --force

    Git rebase

    #rebase 远程分支

    git fetch

    git rebase origin

    处理conflicts

    git add .

    git rebase --continue

    git push origin master

    #rebase 本地分支

    git rebase branchName

    处理conflicts

    git add .

    git rebase --continue

    git push origin master

    多行注释

    git commit -m '

    1.one

    2.two

    '

    查看本地分支跟踪的远程分支

    git branch -vv

    切换跟踪的分支

    git remote rm origin

    git remote add origin git@git.nonobank.com:lejiangkai/MXD.git

    git push -u origin feature5.5.4

    stash用法

    git stash

    git stash pop

    git list

    git stash apply stash@{3}

    合并某个分支的单个文件

    git checkout targetbranch

    git checkout needMergeBranch -- needMergeFileName

    如: 分支test上有一个文件A,你在test1分支上, 此时如果想用test分支上的A文件替换test1分支上的文件的话,可以使用

    git checkout test1

    然后

    git checkout test -- A

    未完待续......

    相关文章

      网友评论

          本文标题:Git 使用总结

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