打开gitbash
$git init 初始化目录
cat .git/config 查看配置信息
设置用户名和邮箱
$git config --global user.name="myname"
$git config --global user.email="test@email.com"
用户名和邮箱应尽可能准确,在提交代码到服务器的时候会用到
设置公钥和秘钥
注册github账号后
创建秘钥
$ssh-keygen -C 'test@email.com' -t rsa
会有提示输入秘钥,输入秘钥后会生成的公钥,在默认的路径下,gitbash会有提示,可以根据提示找到公钥和秘钥的文件。
id_sra 是本地密钥文件用与匹配服务器的id_sra.pub
在github个人主页上点击 Account Settings -> SSH Public Keys -> Add another public key,添加id_sra.pub中的所有代码。此时公钥已经保存完成。
测试与 GitHub 是否连接成功:SSH -v git@github.com
提交代码到工作区
$git add test.txt
提交代码到本地库
$git commit -m"this is a txt file"
-m 后面跟的是备注信息,必须填写,不填则无法成功提交
恢复误修改代码到本地库
$git checkout -- test.txt
恢复误删的未提交代码到本地库
git head test.txt
$git checkout -- test.txt
恢复误删的已提交代码到本地库
git log --pretty=online 查看目前有哪些版本
git reset --hard HEAD^ 回到上一个版本
git reset --hard 1324567 回到1234567版本 这样恢复会删除你自这个版本后提交的修改的内容
恢复历史版本
git log --pretty=online 查看目前有哪些版本
git reset --hard HEAD^ 回到上一个版本 一个^标示一个版本
git reset -- hard HEAD^^^ 回到到数第三个版本
git reset --hard 1324567 回到1234567版本
git鼓励大量使用分支 分支相关命令
查看分支:git branch
创建分支:git branch <name>
切换分支:git chechout <name>
创建加切换分支:git checkout -b <name>
合并某分支到当前分支 git merge <name>
删除分支:git branch -d <name>
默认情况下合并分支时,git的fast forward会删掉分支,如果想禁用该模式,通过以下命令
git merg --no-ff -m"备注信息" <name>
查看分支历史
git log --graph --pretty=online --abbrev-commit
bug分支
git stash 将当前工作空间储藏起来,等以后恢复现场后继续工作
git stash 查看工作现场保存的记录
git stash pop 恢复工作区同时,删除stash内容
git stash apply 恢复工作区同时,删除stash内容。eg:git stash apply stash@{0}
Feature 分支
git checkout -b feture-vulcan 创建一个代号为vulcan的新功能
git add vulcan.txt
git commit -m"msg"
git branch -D feature-vulcan 强行删除未合并的feature分支
git提交代码到远程库
git提交本地库到远程库上
此操作是在你创建github账号之后,设置了密钥之后进行的,否则提交不会成功+
git remote add origin git@github.com:你的github用户名/你的工程名
git push -u origin master
参考博客http://blog.youkuaiyun.com/oskyhg/article/details/51723474
git从远程克隆项目到本地
git clone git@github.com:你github账号用户名/服务端项目名.git
根据提示输入私钥密码
克隆成功
git remote rm origin 移除仓库
git提交代码到远程库
git remote 查看远程库信息
git remote -v 显示更详细的信息
git push origin master 将本地分支提交到远程库分支master
git push origin dev 将本地分支提交到远程库分支dev
将新分支发布在github上: git push origin Branch1
在github远程端删除一个分支: git push origin :Branch1 (分支名前的冒号代表删除)
如有不足之处,恳请各位指教。