- 原理图
- Git环境配置
1、密匙获取命令:ssh-keygen -t rsa -C "your_email@youremail.com”
2、将密匙文件~/.ssh/id_rsa.pub添加到远程git平台设置中
3、配置本地环境
git config --global user.name "your name" //配置用户名
git config --global user.email "your email" //配置email
- 首次上传代码
git init: 初始化本地版本库
git add file.name:提交文件到暂存区(可多个名字空格分隔)
git commit –m “first commit”:将暂存区文件提交到本地版本库
git remote add origin git@ip:lvyunhe/repository.git: 添加名为origin的远程主机
git push -u origin master:将本地版本库的分支推送到远程服务器对应的分支(-u作用:设置master为默认分支)
- 代码更新
git add file.name
git commit –m “commit.name”
git push origin master
- 向已有分支push代码(保持目录结构一致)
git clone项目
git checkout <分支名> [同步远程分支]
- 常用命令
参考网站http://www.ruanyifeng.com/blog/2014/06/git_remote.html
参考网站:http://blog.csdn.net/hudashi/article/details/7664482
1、git push <远程主机名> <本地分支名:远程分支名>:将本地分支推送到远程服务器对应分支
2、git pull <远程主机名> <远程分支名:本地分支名>:将本地分支:取回远程主机某个分支的更新,再与本地的某个分支做合并
3、git fetch <远程主机名> <远程分支名>:取回远程主机某个分支的更新到本地。git pull = git fetch + git merge
例如:
git pull origin master = 先git fetch origin,然后git merge
origin/master
4、git remote: 用于管理主机名
5、git log: 查看版本号
6、git reflog:查看提交历史
7、git lola 命令别名,先执行命令git config --global alias.lola "log -graph --decorate --pretty=oneline --abbrev-commit --all" :查看分支状态,包括版本号
8、git reset --hard commit_id:返回到之前某一个推送版本状态
9、git reset HEAD file :取消暂存区已经git add的文件
10、git checkout : 切换分支或者迁出一个分支的特定版本(默认是HEAD版本)
11、git branch:查看当前分支
12、git branch <name>:创建name分支
13、git branch -d <name>:删除分支
例如:
git checkout commit_id (file_name):全部文件撤销到某一个版本(某个版本下的file_name)
git checkout -- file :放弃工作区的当前修改,还原和版本库一
git checkout <branch_name>:切换到branch_name分支
git checkout –b <branch_name>:创建+切换分支=git branch + git checkout
11、git diff file_name (git diff HEAD -- readme.txt)—查看文件改变的状态(查看文件哪里被修改了)
12、git diff FETCH_HEAD查看fetch后本地工作区和远程仓库的区别
13、git diff HEAD FETCH_HEAD 查看fetch后本地仓库和远程仓库的区别
14、git diff 比较的是工作区和暂存区的差别
15、git diff --cached 比较的是暂存区和版本库的差别 git diff HEAD 可以查看工作区和版本库的差别
16、git branch –d <branch_name> : 删除本地分支
17、git push origin :<branch_name>:删除远程分支。注意orgin后有空格
- 遇到的问题
1、remote: error: GH001: Large files detected. You may want to try Git Large File Storage
有文件大于100M,push失败。
解决办法:创建新的branch:master_new,将本地大文件删除或者退回到之前没添加大文件的版本,将剩下的文件push到新分支上;在远程项目setting中更改默认branch为master_new,删除原来的分支master,同时删除本地分支master。
git reset --hard 38d99a5
git checkout –b master_new
git push origin master_new
更改default branch
git push origin :master
git branch –D master