Git

设置

git config --global user.name "blackawhite"
git config --global user.email "dangpugui@126.com"

git config --global user.name 查看
git config --list

git的三个区

工作区
暂存区:作为过度层、避免误操作、保护工作区和版本区、分支处理
版本区

添加、修改、删除  红色工作区、绿色暂存区,+添加 ~修改 -删除 !冲突

git status查看状态

添加到暂存区

git add fileName
git add .
git add --all

添加到版本区

git commit demo1.html >> 回车 >> 写注释 >>关闭
git commit -m "change demo1.html"

从工作区到版本库缩写

git commit -a -m "add drag.js"第一次时不能这样使用

从暂存区撤回到工作区

git reset HEAD demo1.html

查看提交(commit)的历史

git log,回车时显示后面的,退出按q键即可

对比

git diff 工作区和暂存区的比较
git diff --cached(--staged) 暂存区与版本区的对比
git diff master(分支名字)工作区与版本库

撤销

git reset HEAD <file.name> 工作区撤销到暂存区的状态
git checkout -- <file.name> 工作区撤销到版本区的状态
git commit -m "aa" --amend 误提交后和上一个提交的作为一次提交,让两次不同提交变成一次

删除

git rm <file.name> 在工作区已经删除的情况下删除暂存区
git rm -f <file.name>在工作区一删除或未删除的情况下删除工作区和暂存区,暂存区必须存在
fit rm --cached <file.name>在工作区还在或不在时都能,删除缓存区,而工作区不受影响

git add -A
git commit -m "del"
git push origin master

恢复之前的

git checkout Id <file.name>   恢复指定文件
git reset --hard Id  恢复指定版本
git reset --hard HEAD^往下恢复后之前的log就没有了通过git reglog
git reset --hard HEAD~num

恢复之后的新的

git log 看不到了
git reflog 可以看到记录,找到id然后git reset --hard id

同步到github

登录GitHub桌面端

git remote add origin git@github.com:666/test.git
git pull origin master ----allow-unrelated-histories
git remote 查看远程仓库名字
git remote -v  对应远程仓库地址
git push origin(远端名字) master(分支名字)

第二个用户

修改GitHubPC界面登录
New collaborator 添加合作者开发权限
https://github.com/notifications

git clone url

git push origin master

第一个用户更新第二个用户的修改

git fetch
  >>git diff master origin/master  查看区别
  >>git merge origin/master 手动合并
  >>手动解决
git pull直接合并

参与到没有权限的开源项目之中

  >>Fork 开了一个新的分支,克隆了一个版本
  >>命令行克隆自己fork过来的,然后修改并提交
  >>Pull request
  >>New pull request
  >>Create pull request
对方:
  >>Merge pull request
  >>confirm
  回复技巧:选中对方信息,按R键

分支

稳定版本库的分支 >> 开发  >>  合并到稳定的版本
master 一般默认为项目的主分支
不同的开发人员在不同的分支上进行开发互相不影响
查看当前分支git branch

创建分支git branch new1,github上也可直接创建
切换分支git checkout new1
git checkout -b new2  创建并切换
合并分支  git merge new1,合并分支先切换到master
git branch --merged 查看当前分支所合并的分支
合并后的new1分支没用了删除 git branch -d new1
git branch --no-merged
没有合并的分支删除 git branch -D new2
git status 查看冲突的文件
人工解决合并文件的冲突然后提交

releases 里程碑 版本 打标签

git tag  查看
git tag v1.0  打标签,也可github上直接创建
git push origin v1.0  提交打的标签/版本

fork克隆 pull request通信

创建组织:New organization  可以邀请人加入

创建博客

  >>New repository,名字相同
  >>blackawhite.github.io

进阶

  >>http://git.oschina.net/progit/
  >>http://www.liaoxuefeng.com/

技巧

  >>ls目录结构
  >>mkdir创建
  >>sublime hello.txt
  >>tab自动补全
  >>git config --global alias.co checkout  co等于checkout,设置别名
  >>git config --list,查看别名

posted @ 2016-06-24 18:09  DuangDang  阅读(228)  评论(0编辑  收藏  举报