远程关联操作:
创建自己的仓库后,要关联一个远程库,使用命令git remote add origin git@server-name:path/repo-name.git;
关联后,使用命令git push -u origin master第一次推送master分支的所有内容;
此后,使用命令:git push origin '分支名称' 推送最新修改;
克隆仓库:git clone git@github.com:GTIHUB账户名/仓库名.git
git remote -v 查看远程仓库详细信息
git branch --set-upstream 分支名 origin/分支名 指定本地某分支与远程origin/某分支的链接
git pull 从服务器同步
本地操作:
git status 查看本地仓库状态
git add 'filename' 添加文件到本地缓存
git add -A 添加所有改动的文件
git commit -m 'commitment' 提交更改到本地并添加说明内容
在仓库目录下输入:git init,把这个目录变成仓库
git log 显示近三次的更改
git log --graph --pretty=oneline --abbrev-commit 查看分支图形
git reset --hard HEAD^ 退到上个版本
git reset --hard 'SHA-1编码' 退到SHA-1编码表示的版本
git diff HEAD -- 'FILE' 查看工作区文件与版本库文件的不同之处(可以省略HEAD后内容)
git checkout [选项] [<分支>] -- <文件>...
-q, --quiet 不显示进度报告
-b <分支> 创建并检出一个新的分支
-B <分支> 创建/重置并检出一个分支
-l 为新的分支创建引用日志
--detach 成为指向该提交的分离头指针
-t, --track 为新的分支设置上游信息
--orphan <新分支> 新的没有父提交的分支
-2, --ours 对尚未合并的文件检出我们的版本
-3, --theirs 对尚未合并的文件检出他们的版本
-f, --force 强制检出(丢弃本地修改)
-m, --merge 和新的分支执行三路合并
--overwrite-ignore 更新忽略的文件(默认)
--conflict <风格> 冲突输出风格(merge 或 diff3)
-p, --patch 交互式挑选数据块
--ignore-skip-worktree-bits
对路径不做稀疏检出的限制
git checkout -- 'readme.txt' 丢弃工作区的更改(后面--参数必须有)
对于提交到了暂存区的更改:先git reset HEAD file
删除文件时先直接把原文件删除。然后git rm '文件',然后commit。如果是误删除git checkout -- '刚才删掉的文件'
在用户个人目录下:ssh-keygen -t rsa -C 'youremail@***.com' 生成密钥
分支管理:
查看分支:git branch
创建分支:git branch name
切换分支:git checkout name
创建+切换分支:git checkout -b name
合并某分支到当前分支:git merge name
删除分支:git branch -d name 换成-D是强行删除
git merge --no-ff -m "merge with no-ff" dev 普通的合并模式
BUG 修复时用到的命令:
修复bug时,创建新的bug分支进行修复,然后合并,最后删除;
当手头工作没有完成时,先git stash一下,然后去修复bug,修复后,再git stash pop,回到工作现场。
git stash apply stash@{0} 恢复到指定的stash
git stash list 查看所有的stash现场
git stash pop 恢复工作并删除之前保存的现场
git stash 保存工作现场