git 笔记

/************************************************************************
 *                 git 笔记
 *  改动文件之后,想要备份时,通常都是给文件起一个名字,并记录上日期.
 *  等下次查看时,又很难发觉哪里改动了.版本控制器就是为解决这些问题而诞生的.
 *  本文主要记录从网上摘录的一些git使用方法.内容源自以下链接.
 *  参考文档:
 *    http://www.liaoxuefeng.com/wiki/0013739516305929606dd18361248578c67b8067c8c017b000
 *    http://www.bootcss.com/p/git-guide/
 *   
* Tony Liu, 2016-5-23, Shenzhen
****************************************************************************
*/ 1. 安装 sudo apt-get install git 2. 创建git可管理仓库: 创建空目录,进入目录 mkdir dir cd dir git init 在dir目录下会生成.git目录 3. touch readme.txt git add filename 将文件保存到缓存stage 提交的到本地仓库,并添加提交说明 git commit -m "代码提交信息" 4. 查看git 状态 git status 5. 查看文件和库中的区别 git diff readme.txt 6. 查看日志 git log 7. 回退版本 回退到最新提交版本 git reset --hard HEAD 回退到上一个版本 git reset --hard HEAD^ 回退到上上一个版本 git reset --hard HEAD^^ 回推到之前的第100版本 git reset --hard HEAD~100
  
  git reset --hard <commit id>
8. 查看每一次命令 git reflog 9. 回退到更新的版本 git reflog <commit id> commit id通过reflog查看 10. 撤销修改 git checkout -- readme.txt 一种是readme.txt自修改后还没有被放到暂存区,现在,撤销修改就回到和版本库一模一样的状态; 一种是readme.txt已经添加到暂存区后,又作了修改,现在,撤销修改就回到添加到暂存区后的状态。 总之,就是让这个文件回到最近一次git commit或git add时的状态。 11. 删除 git rm readme.txt git commit -m "remove readme.txt" 12. 将你的仓库连接到某个远程服务器,你可以使用如下命令添加: git remote add origin <server> git remote add origin git@server-name:path/repo-name.git 13. 本地库推送到服务器 第一次推送 git push -u origin master 以后 git push origin master 14. 克隆一个库 从服务器上克隆 git clone git@github.com:michaelliao/gitskills.git 本地克隆 git clone /path/to/repository 15. 创建分支 git branch dev 16. 切换到分支 git checkout dev 17. 查看当前分支 git branch 18. 将dev于master分支合并 git merge dev 19. 删除分支 合并完成之后删除 git branch -d dev 20. 查看分支合并图 git log --graph 21. 删除分支后,保留分支信息 合并分支时,加上--no-ff参数就可以用普通模式合并,合并后的历史有分支,能看出来曾经做过合并,而fast forward合并就看不出来曾经做过合并。 git merge --no-ff -m "merge with no-ff" dev 22. 保存现场 git stash 查看 git stash list 回复 git stash apply 删除stash内容 git stash drop 恢复并删除stash git stash pop 23. 删除为未合并分支 git branch -D <name> 24. 查看远程库信息,使用git remote -v; 本地新建的分支如果不推送到远程,对其他人就是不可见的; 从本地推送分支,使用git push origin branch-name,如果推送失败,先用git pull抓取远程的新提交; 在本地创建和远程分支对应的分支,使用git checkout -b branch-name origin/branch-name,本地和远程分支的名称最好一致; 建立本地分支和远程分支的关联,使用git branch --set-upstream branch-name origin/branch-name; 从远程抓取分支,使用git pull,如果有冲突,要先处理冲突。 23. git tag <tag name> 给某一个提交的版本打上标签 git tag <tag name> <commit id> 查看标签的文字说明 git show <tagname> 删除标签 git tag -d <tag name> 24. 忽略特殊文件 在Git工作区的根目录下创建一个特殊的.gitignore文件,然后把要忽略的文件名填进去,Git就会自动忽略这些文件。 25. 配置别名 st就表示status: git config --global alias.st status
原文地址:https://www.cnblogs.com/helloworldtoyou/p/5521886.html