-
初始化仓库: 创建mkdir <name> 切换目录 cd <name> 初始化git init
-
设置用户:git config user.name "someone"
-
设置邮件:git config user.email "someone@someplace.com"
-
新增文件:git add <file> 把文件放入暂存区
-
提交文件:git commit -m "shuoming" 把文件放入分支
-
查看文件修改状态:git status
-
查看修改内容:git diff
-
查看提交日志:git log 参数--pretty=oneline 只显示一行上面
-
版本回退:HEAD^表示上一个版本,HEAD~100表示往前100个版本,回退上个版本:git reset --hard HEAD^,回退指定版本 git reset --hard xxxxx(几位版本号),hard参数表示回滚到上次commit,不加则回滚到未提交状态。
-
查看历史命令:git reflog,可以查看版本历史
-
.GIT是版本库,stage是暂存区,master是第一个分支,add先放入暂存区,commit提交到分支,每次修改如果不ADD到暂存区就不会提交到分支
-
git checkout -- <file>可以丢弃工作区的修改,让文件回到最后一次 add或commit的功能,用在没有add
-
git rest HEAD <file>是可以把暂存区的修改撤销,重新放回工作区,用在已经add但是没有commit,如果已经commit则使用版本回退
-
rm删除工作区物理文件,git rm从版本库中删除文件,然后git commit即可,如果已经提交到版本库,要恢复误删文件则可以使用git checkout -- <file>恢复。
-
使用$ ssh-keygen -t rsa -C "youremail@example.com" 创建rsa密钥对,然后再C盘用户下查找.ssh文件夹,然后在github后台添加pub密钥。只有添加过公钥的人才能推送
-
远程基本操作
-
查看当前已存在的远程库:git remote
-
关联远程连接:git remote add <name> <ssh|htts>
-
第一次推送master:git push -u origin master
-
版本推送至服务器:git push <name> master
-
更新线上版本:git pull <name> master
-
克隆已有版本:git clone <ssh|htts>
-
分支管理
-
查看分支:git branch
-
创建分支:git branch <name>
-
切换分支:git checkout <name>
-
创建+切换:git checkout -b <name>
-
合并某分支到当前分支:git merge <name>(相当于分支的更新和提交)
-
删除分支:git branch -d <name>
-
删除github分支:git push orgin :refs/heads/<name>
-
解决冲突,当提示冲突时需要手动解决冲突,然后查看分支合并图:git log --graph
-
合并时加上上--no-ff(禁用Fast forward)
参数就可以用普通模式合并,合并后的历史有分支,能看出来曾经做过
-
git log --graph --pretty=oneline --abbrev-commit
-
git merge --no-ff -m "merge with no-ff" dev
-
修改bug,当前分支有修改但不能提交,又要切换到别的分支
-
使用 git stash 命令存储工作现场
-
使用git stash list 查看存储的现场
-
使用git stash apply来恢复现场(可多次恢复),然后使用git stash drop 来删除现场
-
使用git stash pop 来恢复的同时把stash内容也删除
-
如果要丢弃一个没有被合并过的分支,可以通过git branch -D <name>强行删除。
-
多人协作
-
首先安装key,然后clone版本库,然后使用b来下拉新分支
-
查看版本git remote -v。在本地创建和远程分支对应的分支使用git checkout -b branch-name origin/branch-nam
-
推送分支:git push origin branch-name
-
如果推送失败,则先使用git pull下拉最新文件,然后解决冲突,然后再次尝试推送。
-
如果提示“no tracking information”
-
则需要创建关联:git branch --set-upstream branch-name origin/branch-name
-
标签
-
增加标签:git tab -a <tagname> -m <说明>
-
查看所有标签:git tag
-
查看标签详情:git show <tagname>
-
删除标签git tag -d <tagname>,删除远程标签:git push origin :refs/tags/<tagname>
-
推送到远程:git push origin <tagname> 或者 git push origin --tags来推送所有标签
-
根据标签回滚:git checkout tag
-
可以在GITHUB上任意Fork开源仓库,自己拥有Fork后的仓库读写权限,可以pull request给官方
-
.gitignore填写要忽略的文件名
-
使用Ubuntu或Debian搭建git服务器
posted @
2015-03-21 00:07
炳森之火
阅读(
239)
评论()
编辑
收藏
举报