首页 > 技术文章 > git命令笔记

auok 2016-06-14 14:13 原文

git笔记:
git初始项目步骤:
  $ git init 初始化 git项目初始化{.git 隐藏目录 是git的版本库(没事别瞎改。。。。)};
  $ git clone https://github.com/xxxx/xxxxx.git 从github下载到本地项目;
  $ git remote 查看远程库信息;
  $ git remote -v 更详细的信息;
       $ git config --list 查看默认配置;
git提交步骤:
  $ git status 查看当前仓库状态;
  $ git add xxx 提交文件到暂存区;
  $ git add . 提交所有文件到暂存区;
  $ git commit -m "add 3 files." 提交文件到服务器;
      $ git commit -a -m “”  直接工作区提交版本库


  $ git diff xxx 查看文件不同;
  $ git log 查看git提交日志;
     append GPL 最近一次日志;
     add distributed 上一次日志;
     wrote a readme file 最早的一次日志;
     --pretty=oneline 只显示commit版本号信息;
  $ git push origin master(分支名) 推送分支到远程仓库;
  $ git checkout -b dev(分支名) origin/dev 创建远程dev到本地分支;
  $ git pull / $ git pull prigin dev(分支名) 合并更新文件;

git版本回退步骤:
      $ git reset HEAD <file.name> 从暂存区撤销到工作区;
  $ git reset --hard(指针) 3628164(commit的版本号) 回退旧版本;
  $ git reset --hard HEAD^ 回退上一个版本号;
  $ git reset --hard HEAD^^ 回退上上一个版本号;
  $ git reset --hard HEAD~100 回退第几个;
  $ git reflog 提交、回退日志;
  $ cat readme.txt(文件名) 显示文件;
  $ git diff HEAD -- readme.txt 查看工作区和版本库里面最新版本的区别;
  $ git checkout -- xxxx 在工作区的全部撤销;
  $ git reset HEAD xxx 把暂存区的修改撤销掉, 重新放回工作区;
     $ git commit --amend 撤销上一次从新提交;
git删除文件:
  $ rm test.txt 任务管理器删除文件;
  $ git rm test.txt git从暂存区中删除文件;
      $ git rm -f test.txt 强制删除;
      $ git rm --cached test.txt 删除暂存区的文件删除
  $ git checkout -- test.txt 撤销删除文件;

git查看/设置 本地全局账号:
  $ git config --global user.name 'xxxx' 设置全局用户名;
  $ git config --global user.email 'xxxx' 设置全局用邮箱;
  $ git config --global alias. st(快捷别名) status(git命令全名称) 设置全局别名;


git链接gitHub:
  $ ssh-skeygen -t rsa -C 'youremail@example.com' 设置ssh加密;
     id_rsa 私匙 不能泄露;
     id_rsa.pub 公匙 ;
     在gitHub里Add SSH Key 添加 id_rsa.pub;
  $ git push origin master 推送到github;

git分支:
  $ git checkout -b(branch简写) dev(分支名) 建立并切换到分支;
            -b 创建并切换分支;
  相当于:
  $ git branch dev 建立分支;
  $ git checkout dev 切换分支;
  $ git branch 查看分支;
      $ git branch --merged 查看合并的分支;
      $ git branch --on-merged 查看未合并的分支;
  $ git merge dev(分支名) 合并分支;
  $ git branch -d dev(分支名) 删除分支(没有合并的分支是不能删除);
     $  git branch -D dev 强行删除分支;
 

查看git分支: (按Q键退出)
  $ git log --graph 查看分支合并图;
  $ git log --graph --pretty=oneline --abbrev-commit 显示查看一条合并分支图;

删除git分支:
  $ git branch -d dev 删除分支;
  $ git branch -D <name> 强行删除分支;

合并git分支:
  $ git merge --on-ff -m "注释" dev(分支名) 普通模式合并,保留合并后的历史分支;

git暂存:
  $ git stash 当前git分支暂时存储;
  $ git stash list 暂时git分支存储列表;
  $ git stash pop 恢复同时删除stash;
  $ git stash app stash@{0} 恢复指定版本但不删除stash;
  需要 $ git stash drop 删除 stash;

git标签:
  $ git tab v1.0 添加标签;
  $ git tab 查看标签;
  $ git show v0.1(标签名) 显示标签详细信息; 
  $ git tag -a(指定标签名 ) v0.2 -m(指定说明) "version 0.2 " 添加有说明的标签;
  $ git tag -s(私钥比标签 ) v0.2 -m(指定说明) "version 0.2 ";
  $ git tag -d v0.1 删除标签;
  $ git push origin --tags 推送到远程仓库;
  如果已推送到远程仓库先删除本地 
  $ git tag -d v0.1 在
  $ git push origin :refs/tags/v0.1 从远程仓库删除标签;

推荐阅读