这是用户名邮箱:告诉对方你是谁。
$ git config --global user.name "xxx"
$ git config --global user.email "xxx@xxx.com"
初始化本地库
git init 创建本地 git 代码库:
clone 远程分支:
新建一个目录,cd进去,然后clone项目。
git clone git@github.com:LeonZhang2013/TestGit.git
注意:git@github.com:LeonZhang2013/TestGit.git 这一段,代码 githut项目提供了直接复制就行。
推送到服务器:
git push
提交代码到本地:
git add xxxxx.xx
git commit -m "版本备注"
git commit 会强制你编写日志, 按i 进入插入状态
编写提交信息 按Esc键退出插入状态,然后 :wq 退出保存即可
恢复到最新版本,并清空 add缓存:
git checkout -- xxxx.xx
比较不同:
git status 查看代码库状态,那些被修改了。
git diff 查看修改那个地方。
查看历史版本,回退到指定版本:
git log
git reset --hard 版本号 也就是 下面黄色的 版本不用输入完整的
注意:回退后,签名的版本使用 git log 就看不见了,如果还想回去
再次回到新版本:
git reflog 查看历史命令
删除文件:
git rm xxxx.xx
创建分支:
$ git branch test //创建分支test
$ git checkout test //切换到分支test
$ git branch //查看当前库所有分支
分支提交方式类似,切换到那个分支,就提交到那个分支。
合并分支到主分支(或其他分支):
1、B分支 合并到 A分支中:
git checkout A //首先切换A分支为当前分支。
git merge B //然后在把B分支合并到当前分支。
git branch -d B // delete 分支(如果分支合并后没用了,就删除吧)
2合并之后某些文件可能会有冲突。如下:
<<<<<<< HEAD
asdfasdf15q14we35r4151541q35wer1465qawe413r
=======
assdfasdfasdfdfasdf
asdfasdfads123123123123123:f
>>>>>>> test2
自己修改后,和修改文件一样,add 后 commit 完成冲突修改。
缓存当前分支工作:
(PS:需要立即修改主分支的bug时,当前工作又没做完,就可以先缓存起来)
git stash //缓存当前分支工作,
git stash list //查看缓存
git stash apply //恢复,但是恢复后,缓存内容并不删除,
git stash apply stash@{0} //恢复当前分支指定的缓存,但不会删除缓存。
git stash drop //删除当前分支缓存。
git stash pop //恢复当前分支缓存,并删除
创建忽略文件(.gitignore)
将自己不需要提交的文件,添加到该文件。如下:
# Built application files //注解
*.apk //后缀为.apk 的文件
bin/ //bin目录下所有文件
当然 github 提供了各种项目应该忽略的文件,直接拿来粘贴到目录下。https://github.com/github/gitignore (记得去掉名称,改为”.gitignore”)