.嘿嘿第一次写博客呢.
安装:
windows: https://git-scm.com/downloads/win 下载后安装即可
linux:终端下输入git 若不存在则根据系统版本
Ubuntu: sudo apt-get install git
Fedora: sudo dnf install git
官网有其他系统的介绍
创建一个git仓库目录
Linux下 mkdir something
cd something
git init something
如果ls -a 显示有.git 就说明创建成功了
工作区与版本库
工作区就是你本地能看到的目录,版本库分为两个部分:暂存区(stage)和分支
暂存区存放着上次commit 结束到现在add了修改了的文件
基本增删改查的操作
git add filename 可多个文件一起添加
git commit -m "description" 提交添加的文档 -m 后面接的是此次提交的描述
git rm 删除
git status 查看本地仓库状态
没有add前可以 git checkout -- filename 来丢弃本次修改
如果add了可以用git reset HEAD filename来把暂存区的filename的文件恢复到工作区来 ,然后用git checkout -- filename 来恢复
GitHub
此命令可以生成一个ssh key,然后登录github添加此ssh key
ssh-keygen -t rsa -C "youremail@example.com"
添加远程库
在本地一个git工作区下 关联一个github的repo :git remote add origin name(远程库的sshname)
然后推送本地工作区的文件 git push -u origin master(某分支)
克隆远程库
本地新建一个git库 git clone name(远程库的sshname)
分支
git branch dev创建一个dev的分支
git checkout dev切换到dev分支 亦可以checkout -b 表示创建并切换
git branch 可以查看当前分支
分支的合并
切换到想要合并的分支
git merge name(被合并的分支)
git merge --no-ff -m "commit" branch name 保留合并历史
分支的冲突
当不同分支都提交了修改时,在尝试合并分支后,可以对冲突文件修复好冲突后再合并
修复Bug的一种办法
先git stash 保存当前工作区的工作状态
切换到有Bug的分支 然后从此分支创建一个修复bug的分支,然后回到有bug的分支合并修复的分支,删除修复的分支。切换回自己的分支,然后git stash pop 恢复自己的工作状态
git stash list 显示保存的工作区状态
git stash
apply 恢复某状态但不删除
强行删除某分支
git branch -D branchname
多人协作
git remote -v显示远程库(name)的信息
git push name branch 推送分支到远程库
如果push 失败,尝试使用git pull 获取最新分支的文件修改冲突后push
如果Pull失败,
git branch --set-upstream branch-name origin/branch-name 来建立本地分支与远程库的分支链接
git checkout -b branchname origin/branchname在本地建立和远程库对应的分支