Git 笔记 1.创建一个文件夹作为git仓库,cd到此目录,Git init:初始化仓库,会创建.git隐藏目录 2.git add <filename>:(需要在仓库文件夹中),添加文件 3.git commit -m "discription": 提交所有add过的文件,添加备注 4.git status :查有哪些当前修改但未提交的文件 5.git diff <filename> :查看文件修改情况,比较的是当前工作区文件和版本库最新文件 6.git log :查看提交日志 7.git reset --hard HEAD~X: 回退到上前X个版本 git reset HEAD <filename>: 将此文件从暂存区回退到工作区 8.git reset --hard 版本号: 回退到该版本号对应版本 9.git reflog :查看每次所提交的命令(方便回退) 10.git 管理的对象是修改,并非文件,每次add都是添加到存储区,提交才会到版本库 11.git checkout --<filename> :丢弃工作区的修改(也可以认为是从版本库恢复) 12.git rm <filename> :删除文件,该修改添加到存储区,再用git commit 提交删除版本库里的文件 13.git remote add origin git@server-name:path/repo-name.git(或者使用git remote add origin 远程库url):用于连接一个远程库,origin一般默认指远程库 14.git push -u origin master :首次提交本地库到远程库(之后再更新远程库无需-u) 15.git clone git@server-name:path/repo-name.git(或者用git clone 远程库url):用于从远程库拷下一份库,默认只会包括master分支 16.git branch 查看分支 17.git branch -d <branchname>: 删除分支;-D则表示强行删除未合并的分支 18.git branch <branchname>:创建分支 19.git checkout <branchname>:切换到分支 20.git checkout -b <branchname>:创建分支并切换到此分支 21.git merge <branchname>:合并某分支到当前分支 22.git merge --no-ff -m "discription" <branchname>:合并某分支到当前分支,添加备注,且禁用fast forward模式合并,这样会保留修改,分支指针不会与master合并。 23.git log --graph --pretty=oneline --abbrev-commit: 图表形式查看分支合并情况 24.git stash :保存当前工作现场,可以跳往其他分支操作。 25.git stash pop :回到工作现场,并删除stash内备份 26.git stash apply:回到工作现场,不删除备份 27.git stash drop :删除stash中的备份 28.git stash list :查看stash里备份了哪些现场 注:转换分支的时候,若当前分支有过修改,则必须commit后或者stash后才可以切换分支,否则文件可能被覆盖 29.git remote -v :查看远程库信息 git remote add origin <urlofremote> :关联本地库和远程库 30.git push origin <branchname> :提交分支至远程库,出现错误说明你的分支没远程分支新,需要先pull 31.git pull (<remote> <branchname>):从远程抓取分支合并,有冲突要先处理冲突,再合并 32.git checkout -b <branchname> origin/branchname :建立本地分支并对应远程分支 33.git branch --set-upstream <branchname> origin/<branchname> : 建立本地分支与远程分支的关联,方便pull 注:一般多人合作的工作模式如下 a.首先试图用git push origin <branchname> 推送自己的修改 b.若推送失败,因远程分支比本地新,需要先git pull试图合并; c.如果合并有冲突,则解决冲突,并在本地commit; d.没有冲突或者解决掉冲突后,再用git push origin <branch-name>推送就能成功。 34.git rebase :rebase操作可以把本地未push的分叉提交历史整理成直线; 35.git tag <tagname> (commit_id):新建一个标签默认指向head,或者commit_id 36.git tag -a <tagname> -master "discription" : 为一个标签添加discription 37 git show <tagname> :查看标签信息 38.git push origin <tagname> :推送某标签到远程 39.git push origin --tags :推送所有未推送到远程的本地标签 40.git tag -d <tagname> :删除本地tag 41.git push origin :refs/tags/<tagname> :删除远程tag时,先删除本地tag,再用此命令