$ git config --global user.name "Jeong Woo" // 配置用户名
$ git config --global user.email "xx@gmail.com" // 配置用户邮件
$ mkdir testgit //创建目录
$ cd testgit // 进入目录
$ pwd // 显示当前的目录
$ git init
$ git add readme.txt(添加的文件)
$ git commit -m "第一次提交" (提交注释)
$ git status // 查看git状态,如果有改动会显示
$ git diff readme.txt //显示文件改动的地方
$ git log 查看历史记录
$ git log --pretty=oneline // 显示最近到最远的显示日志
// 删除所有暂存区文件
$ git rm -r --cached .
$ git reset --hard HEAD^ //将当前版本回退到上个版本
// HEAD^^ 回退到上上个
$ git reset --hard HEAD~n // 回退到前 n 个版本
$ git reflog // 获取历史版本号
$ git reset --hard 0605882 // 会退到 0605882 版本
$ git cat filename //查看该文件的内容
$ git checkout -- file //从git(本地暂存区)中获取文件
$ git rm file //在当前目录下删掉文件file
$ ssh-keygen -t rsa -C "wz1167001021@gmail.com" //在用户主目录下生成.sh目录,并生产
id_rsa和id_rsa_pub两个文件
$ cat ~/.ssh/id_rsa.pub // 返回rsa.pub ssh
$ git push -u origin master // 将当前分支master推送到远程 第一次推送需要加 -u
$ git push origin master
$ git clone githttp // 克隆远程git http 地址
// HEAD指向的就是当前分支
$ git checkout -b dev // 创建并切换分支
$ git branch 查看当前的分支
$ git merge newb // 在当前分支合并newb分支
$ git branch -d newb //删除newb分支
$ git branch name //创建分支 name
$ git checkout name //切换分支
//Git用<<<<<<<,=======,>>>>>>>标记出不同分支的内容,其中<<<HEAD是指主分支修改的内容,>>>>>fenzhi1 是指fenzhi1上修改的内容,我们可以修改下如下后保存
合并内容会出现
$ git stash // 将当前的工作现场隐藏起来
// 使用 -no-ff会保留 分支信息 可以在历史记录查看
$ git merge --no-ff -m "注释" dev 合并 dev 分支 -no-ff表示禁用fast forward模式
$ git stash // 将当前的工作现场隐藏起来 ,不会再git status 中显示更改等状态
$ git stash list // 查看隐藏现场列表
$ git stash apply // 恢复现场
$ git stash drop // 恢复现场后删除stash内容
$ git stash pop // 恢复的同时将内容也删了
$ git remote // 查看远程库信息
$ git remote -v // 查看远程库详细信息
$ git checkout -b dev origin/dev //创建远程origin 的dev 分支到本地
$ git branch --set-upstream dev origin/dev // 指定本地dev分支 和远程分支
$ git pull // pull远程内容到本地
fatal: refusing to merge unrelated histories
$ git pull origin master --allow-unrelated-histories
// git 删除指令
git rm [-f | --force] [-n] [-r] [--cached] [--ignore-unmatch] [--quiet] [--] <file>…
-f /--force 强制删除,覆盖最新的检查
-r 允许递归删除
-- 可用于将命令行选项从文件列表中分离(当文件名可能被误认为命令行选项)
--cache 从缓存区移除