初始化git仓库:
mkdir filefloder --- --- (新建文件夹)
cd filebloder --- ---(切换值文件夹)
git init --- ---(初始化git仓库)
git add * --- ---(添加初始文件)
git commit -m "提交内容备注" --- ---(提交修改文件)
修改文件后:
git status --- ---(查看文件修改状态)
git add filename --- ---(添加已修改的文件)
git commit -m "提交内容备注" --- ---(提交修改文件)
git diff --- ---(查看上次修改的内容*须在git add之前查看, add之后没有diff信息*)
版本控制:
git log --- ---(查看历史提交版本信息)/ git log --pretty=oneline (查看版本修改精简信息)
git reset --hard HEAD^ --- ---(版本回退上一个版本)/git reset --hard 版本号 (回退指定的版本号)
git reflog --- --- (记录用户每一次命令)
撤销修改:
git checkout -- filename --- ---(放弃工作区的修改回到最近的状态/git add之后或上一次git commit之后)
git reset HEAD filenaem --- ---(放弃暂存区的修改,重新放回工作区,类似 取消git add命令)
删除文件:
git rm filename --- ---(确定要从版本中删除文件)
git checkout -- filename --- ---(撤销最近的删除/ git checkout 类似使用版本苦衷的文件替换工作区的修改)
远程仓库操作:
ssh-keygen -t rsa -C "myemail@examplecom" --- ---(使用git 远程仓库先创建SSH KEY)
git remote add origin git@gitee.com:xman1123/gittest.git --- ---(关联远程仓库,origin远程cangkuu别名,git@gitee.com:xman1123/gittest.git--远程仓库ssh地址)
git pull origin master --- ---(初次更新时拉取远程仓库代码,保证一致性)
git push -u origin master --- ---(把本地库的所有内容推送到远程库上, -u 参数会关联远程master库,方便以后简化命令)
git clone it@gitee.com:xman1123/gittest.git --- ---(从零开始,克隆远程仓库)
分支管理:
git checkout -b dev --- ---(切换到一个新的分支, -b表示新建分支并切换,仅切换分支无需参数)
git branch --- ---(查看当前分支)
git merge dev --- ---(合并分支)
git branch -d dev --- ---(删除分支)
git log --graph --- ---(查看分支合并图)
git merge --no-ff -m "备注" dev --- ---(使用no-ff模式合并分支,可以从git log中看出历史信息,普通模式合并)
bug分支:
git statsh --- ---(将当前支线的修改保存)
git stash --- ---(查看保存的stash记录)
git stash apply --- ---(恢复stash,原先的stash不删除)
git stash pop --- ---(恢复stash,删除stash内容)
git stash 阿帕排了一stash@{0} --- ---(恢复指定的stash记录)
删除分支:
git branch -D dev --- ---(强制删除分支,正常的-d参数变为-D)
多人协作:
git remote --- ---(查看远程仓库信息)
git remote -v --- ---(查看远程仓库 / 详细)
git checkout -b dev origin/dev --- ---(创建来自远程origin的dev分支到本地,origin为默认名称)
git打标签:
git tag v1.0 --- ---(对当前分支打标签)
git tag --- ---(查看所有标签)
git log --pretty=oneline --abbrev-commit --- ---(为历史所有commit打上标签)
git tag "tagname as v0.8" commitID --- ---(为commit打上标签)
git show tag tagname --- ---(查看对应标签的commit)
git tag -s "tagname as v0.8" commitID --- ---(为commit打上标签,并标记上自己的私钥,如果没有安装gpg会报错)
操作标签:
git tag -d tagname --- ---(删除标签)
git push origin tagname --- ---(推送标签到远程仓库,因为标签默认只会存储在本地)
git push origin --tags --- ---(一次性推送所有尚未推送的本地标签)
git push origin :refs/tags/tagname --- ---(删除远程标签,先删除本地标签,git tag -d tagname,然后安前面的操作)
git配置:
git config --global color.ui true --- ---(配置git颜色)
忽略某些文件:
.gitignore 下可以配置忽略的文件and文件夹
PS:git pull 和push出现
ubuntu16.04sign_and_send_pubkey: signing failed: agent refused operation
错误,解决方法{
命令行输入
eval 'ssh-agent -s'
ssh-add
}