git add XXX # 添加文件到暂存区
git add . # 添加指定文件到暂存区
git checkout #从暂存区放到移出来
git status # 查看文件是否放在暂存区
git commit -m "初次提交" #提交代码到仓库
git config --global user.email "hexintong@qq.com"
git config --global user.name "hxt"
git init #初始化生成 .git 隐藏文件夹
git reset --hard XXXXXXXXXXX # 回滚版本
git log # 查看历史版本
git reflog # 查看详细的历史版本
git stash # 开发到一半时候,还原修改状态,处理bug,处理完成后 提交到代码仓库
git stash pop # 修复完成后接着没完成的开发
git stash list # 查看还原列表
git branch # 查看分支
git branch dev # 创建dev分支
git checkout dev # 切换到dev分支
git merge dev # 在master分支下执行 ,合并dev 分支
git branch -D dev # 删除分支
代码仓库
github 码云
git remote add origin https://github.com/ishexintong/cnblog.git # 在项目中执行 生成远程的代码仓库的别名
git push origin master # 推送本地的代码(是提交到代码仓库后的) 到远程代码仓库
git checkout dev # 切换到dev分支
git push origin dev # 推送dev分支的代码到远程代码仓库
git clone # https://github.com/ishexintong/cnblog.git #在家里继续写代码的时候 拉取远程的代码到家里的电脑
git pull origin dev # 在家下载代码,这种方式是差异化下载,不是全部拷贝下载
在项目目录下.git 隐藏目录中的 config文件修改 url
url = https://ishexintong:*****@github.com/ishexintong/cnblog.git #用户名:密码@XXXXXXXXX 这种方式在推送或者拉取代码时不用每次输入用户名加密码
[core] repositoryformatversion = 0 filemode = false bare = false logallrefupdates = true symlinks = false ignorecase = true [remote "origin"] url = https://ishexintong:*****@github.com/ishexintong/cnblog.git fetch = +refs/heads/*:refs/remotes/origin/* [branch "master"] remote = origin merge = refs/heads/master
git rebase的作用,在忘记提交代码时候,在拉代码后保存提交记录的整洁,不分叉。
协同开发
1 项目拥有者向新用户发起邀请
2 为每个开发用户创建分支
3 git tag -a v1.0 -m "版本1"
4 git push origin --tags # 提交到github的时候有版本
5 git clone -b v0.1 # 按照版本拉远程GitHub的代码
6 git pull origin master --allow-unrelated-histories #先合并再push,亲测可行