本地
pwd 显示当前目录
git init 在当前目录创建本地仓库
git init
创建远程仓库
git init --bare
git status
显示当前目录位置文件的修改状态
ls -al 显示目录详细
echo Hello > README.md 把hello写进readme 文件
提交文件进行管理
git add README.md ---只有提交后才能管理文件
git status 查看目录详情
红色没有添加,绿色已经添加 (区分大小写)
git commit 把缓冲区内容,提交到仓库内部的数据库,修改的历史等
进入vim之后
!!!!!!!注意
按esc ,输入框输入冒号:表示可以输入字符,qw wq exit 退出
update 文件名 更新文件
快速提交
git commit -am "This is second commit test" 提交全部改动(包括删除、修改、添加),m代表message(提交信息)
git log 提交日志 (每次提交都有信息摘要,可以通过git log 摘要查找所需内容)
git log --help 打开日志帮助
git gc 压缩提交的文件(服务器用的多)
git rm 文件名 删除文件
rm 文件名 删除文件 ===只是删除本地:需要提交才能删除服务器内容
如果是git 第一次安装执行,Git需要配置当前用户的名称和邮箱
tell me who you are--->
git config --global user.name "xxxxx"
git config --global user.email "xxx@xx.xxx"
gitk
查看Git历史,回退git状态,修改commit message
查看日志
git log
git log --author= 'name' 显示某个作者的日志
git log -p filepath 查看某个文件的详细修改
回退本地提交
git reset -logid-
回退远程提交
git commit --amend //最近一条
git rebase -i <commit id>
git diff 文件对比
1. git diff filepath 工作区与暂存区比较
2. git diff HEAD filepath 工作区与HEAD ( 当前工作分支) 比较
3. git diff --staged 或 --cached filepath 暂存区与HEAD比较
4. git diff branchName filepath 当前分支的文件与branchName 分支的文件进行比较
5. git diff commitId filepath 与某一次提交进行比较
git gui打开GUI视图
远程仓库
如何创建远程仓库
远程仓库
github.com 公开仓库免费,私有仓库收费
bitbucket.org 无限私有仓库 ,国外的JIRA AT....
1.开源中国 git.oschina.net 1000个仓库
网站管理;指定仓库名称,获取git网址;
https网址:需要每次提交、查看日志都需要输入用户名和密码
SSH key 可以让你在你的电脑和 Git @ OSC 之间建立安全的加密连接。
远程仓库连接
git remote add <别名><网址>
git remote add origin git@git.oschina.net:RoboyCore/TestDemo.git //第一次连接
git remote add github git@github.com:/RoboyCore/GitDemo.git
如果使https连接切换成 ssh git remote remove origin 再执行上一步
提交代码到服务器
在.git 里头 输入 git push -u origin master
git push -u github master -u表示让服务器自己创建文件目录
git remote -v 远程仓库列表显示
git remote remove [远程分支别名]删除远程服务连接
git clone <网址> [目标目录] 克隆下载
git clone [--bare] git@github,com:/vhly/GitDemo.git ==只能下载看别人代码 --bare是以服务器形式克隆,可不选
Git工程创建的注意事项
1.创建工程,git init
2.设置忽略:.gitignore 文件,可以设置忽略的内容
代码提交流程
1.先本地提交 git commit
2.测试完成后
3.从服务器同步代码
4.合并代码、再次测试代码
5.push 代码;提交到服务器;
6.对于第三方或者开源工程,需要第五步申请PullRequest
git 忽略提交的文件(撤回已经提交的文件以.idea文件为例)
git rm -r --cached .idea/ //删除远程文件缓存(去掉--cached会同时删除本地和远程)
git add .
git commit -m "untrack .idea/"
git 撤销上次操作
当文件提交到本地版本库后,需要撤回
撤销操作
git status 先看一下add 中的文件
git reset HEAD 如果后面什么都不跟的话 就是上一次add 里面的全部撤销了
git reset HEAD XXX/XXX/XXX.java 就是对某个文件进行撤销了
- git常用错误
Git – fatal: Unable to create 'XXX/.git/index.lock’: File exists.的解决办法
Some untracked working tree files would be overwritten by Pull
git pull时遇到error: cannot lock ref ‘xxx’: ref xxx is at (一个commitID) but expected的解决办法
远程添加文件后/或者别人push文件后
git pull [origin][仓库] [master][分支] --allow-unrelated-histories