git

来源:互联网 发布:劫的面具淘宝 编辑:程序博客网 时间:2024/06/08 05:50
  1. 基础命令
    1.1分支管理
    git branch -a 查看所有分支(包括远程分支)
    git branch 查看本地分支
    git branch -r 查看远程分支
    git branch branchName 在本地创建分支
    git branch -d branchName 删除本地分支
    git branch -vv 查看本地分支以及其追踪的远程分支
    git push origin newBranchName 推送一个本地创建但是远程不存在的分支到远程仓库
    git remote show origin 查看git地址,本地分支跟踪状态
    git remote prune origin 删除所有上一个命令的过时分支(即远程不存在但是本地存在的分支)

    删除远程分支:
    a. git branch -r -d origin/delBranchName
    b. git push origin :delBranchName

1.1分支当前版本(基于commit id)
查看.git/refs/heads目录下的文件,文件内容对应了本地各个分支当前的版本
查看.git/HEAD可以查看当前头指针指向哪个分支,这个分支其实对应.git/refs/heads下该分支文件内容的commit id,说白了HEAD指向当前工作区是哪个分支.

  1. 内容提交
    2.1 git add 将工作区内容的修改提交到暂存区,单个文件 git add fileName,一次性所有文件 git add .
    2.2 git commit -m “commit msg”将暂存区的所有内容提交到本地仓库,如果暂存区没有内容,这个命令无法成功,会提示提交为空,所以这个命令是只会提交暂存区的内容.新增和修改的文件都需要先执行git add命令加入暂存区,然后才能被commit.git commit -m “commit msg” fileName 这个命令可以直接指定文件(不包括新增文件,新增文件还是要先add)并commit,修改但不在暂存区的和在暂存区的文件都可以通过这个命令提交.
    2.3 git reset HEAD 取消所有暂存,git reset HEAD fileName取消单个文件的暂存 这个命令和git add互为反操作
    2.4 git checkout – fileName 将工作区的fileName这个文件恢复到当前分支的最新一次提交,丢弃掉本地修改.git checkout . 丢弃掉所有文件修改,注意:如果文件已经被提交或者已经加到暂存区了,这个命令是无法丢弃本地更改的,即只能丢弃修改状态的文件的变更.这个操作和文件修改互为反操作.对于已经加到暂存区的文件,如果想要丢弃修改,可以先对它取消暂存,将其恢复到修改状态,然后再git checkout就可以丢弃它的修改了
    2.5 git reset commitId,撤销在本地仓库的commit到commitId对应的版本,和git commit操作互为反操作,这个命令只会撤销提交但是不会修改工作区的文件,相对比较安全.如果想一次性撤销提交并且修改工作区文件到上次提交的版本,git reset –hard commitId 即可,这个命令相当于reset+checkout,撤销提交并且将工作区的恢复到知道commitId的版本.
    2.6 git diff
    2.6.1 git diff origin/branch HEAD 查看当前代码库本地分支和跟踪的远程分支的差别,即待push的内容改变了哪些东西;
    2.6.2 git diff 不加参数即默认比较工作区与暂存区,待add的内容的改变
    2.6.3 git diff –cached 比较暂存区与本地库,即带commit的内容的改变
    2.6.4 git diff branch1 branch2 比对两个分支的差异
    2.7 git push 如果git config –global push.default simple只推送当前分支到远程分支;git config –global push.default matching 会推送所有分支(不仅仅是当前分支),这个可能会误push,,建议设置git config –global push.default simple;另外推荐使用git push origin localBranchName的方式,这个方式可以指定推送的本地分支,不会误操作.
    2.8 git log 查看分支提交历史 git log –grep ‘APPLE’(支持按照提交信息搜索)
    2.9 git cherry-pick commitId 提交某些commit到当前分支
    2.10 git clean -ndf 清除没有被add的文件 n代表演习(不会真删) d代表目录 f代表文件
    1. 分支合并和冲突解决...
原创粉丝点击