Git使用操作指南和GitHub
来源:互联网 发布:微信群里发淘宝优惠券 编辑:程序博客网 时间:2024/05/22 15:47
本文记录Git的使用操作,把散落的记忆整理到一起。并介绍GitHub的使用。
使用Git代表着一种思想和境界,和SVN相比,不是技术上的差异有多么大,而是代表融入了一种新的生态环境,一种开放开源的心态,一种技术上不断学习和领悟的精神,一种严格要求自己深入理解、不断寻求的态度。
Git使用操作指南
删除相关命令:http://blog.csdn.net/wirelessqa/article/details/20152353
3个命令:checkout,从远程恢复tracked,并且未被add的文件;reset,从远程恢复tracked,并且被add的文件到未add的状态;clean,删除未tracked的文件
修改git注释:http://zhaojunde1976.blog.163.com/blog/static/12199866820136118522846/
用一个分支替换另一个分支:
git checkout develop // 切换到旧的分支
git reset --hard master // 将本地的旧分支 develop 重置成 master
git push origin develop --force // 再推送到远程仓库
推荐站点:
http://rogerdudler.github.io/git-guide/index.zh.html
http://www.git-scm.com/book/zh
Git图形工具
SourceTree,如其名,源代码树,可以方便的进行代码浏览、提交、合并,相比较使用Git命令,可以提高工作效率。
但是SourceTree的解决冲突的功能是比较弱的。可以使用Eclipse/Idean的合并工具,不过依然不怎么好用。
推荐的比较合并工具是Beyond Campare,官网地址:http://www.scootersoftware.com/download.php ,顾名思义,超越了比较,很强大的比较。
和Git结合,可以把冲突的文件,和远程代码库的最新文件比较,方便解决冲突。
Mac下如何把Beyond Campare和Git集成,步骤如下:
1、安装Beyond Campare 2,并执行其菜单的命令"Install Command Line Tools...",这里,我们就可以在命令行输入bcomp调用它了。
2、定义Git的比较合并工具,vim ~/.gitconfig,输入内容:
[diff] tool = bcomp[difftool "bcomp"] cmd = \"/usr/local/bin/bcomp\" \"$LOCAL\" \"$REMOTE\"[difftool] prompt = false[merge] tool = bcomp[mergetool] prompt = false[mergetool "bcomp"] cmd = \"/usr/local/bin/bcomp\" \"$LOCAL\" \"$REMOTE\" \"$BASE\" \"$MERGED\"
3、git difftool 文件,就可以调出GUI,很方便的比较合并文件了。右边是有冲突的本地文件(我们要保存的),左边是用来比较的最新远程分支。如果只输入git difftool,会把所有的冲突的文件一个一个调出来处理。
4、git mergetool工具,分为5个区域,local/remote/base(共同的祖先),可以选的合并代码,目标代码。
PS:
如果有时git difftool不能调出diff界面,可以试着把冲突文件加入stage,然后在从stage中拿出来就可以了。
git add . git reset HEAD .
git add 文件名 git reset HEAD 文件名
删除远程分支:git push origin :20151110-techoptimize
删除本地分支:git branch -d 20151110-techoptimize
git clean -n显示要删除的文件和目录 -f删除文件 -d删除目录
参考网址:
Using Beyond Compare with Version Control Systems
git-difftool - Show changes using common diff tools
使用Beyond Compare作为git mergetool的默认对比工具 For Mac
git config命令使用
Git查看、删除、重命名远程分支和tag
Git描述
Git安装:http://git-scm.com/book/en/Getting-Started-Installing-Git
Git配置与使用:http://railstutorial-china.org/chapter1.html#section-1-3-1
10分钟Git使用教程:http://rogerdudler.github.io/git-guide/index.zh.html http://www.open-open.com/lib/view/open1332904495999.html
和SVN会对每个文件夹都加入.svn文件不同,Git只会在根目录下创建一个.git文件夹,所有和Git管理相关的内容都在这里,如果你想把项目从Git管理中删除,移除这个文件夹就可以了。
使用Git,最好在每个Git项目都建立一个.gitignore文件,可以到生成:https://www.gitignore.io/ ,其作用和SVN的ignore是一样的,比如,对于java项目,我们可以用如下的.gitignore文件:
*.class# Mobile Tools for Java (J2ME).mtj.tmp/# Package Files #*.jar*.war*.ear# virtual machine crash logs, see http://www.java.com/en/download/help/error_hotspot.xmlhs_err_pid*# Ignore all logfiles and tempfiles..project/*/.project.classpath/*/.classpath.settings/*/.settings/*/.settings/*target/*/target/*/target/*.DS_Store.svn.svn/*.idea.idea/*Thumbs.db*.log
Git与GitHub
Git客户端:http://msysgit.github.io/ ,使用这个客户端的SSH验证方式如下:
- ssh-keygen -t rsa -C 注册邮箱
- C:\Users\puma\.ssh\id_rsa.pub(如果是Mac系统,则目录是:/Users/puma/.ssh),把内容完全拷贝到git服务器
- git clone git@10.20.30.14:mall/mall.git
推送到GitHub:http://railstutorial-china.org/chapter1.html#section-1-3-4
注意:你必须先注册一个GitHub.Com账户,如果使用SSH方式进行推送,则需要创建SSH秘钥,需要在GitHub中建立Repository。
比如,我们在GitHub有个账户:pumadong ,下面建立了一个项目: cl-privilege,则可以:
Create a new repository on the command line
touch README.md
git init
git add README.md
git commit -m "first commit"
git remote add origin git@github.com:pumadong/cl-privilege.git
git push -u origin master
如果在github建立项目时,建立了README.md文件,则上一步会提示版本问题,不能push,需要用下面这两行:
(
git pull origin master
git commit -m "first commit"
也可以:
Push an existing repository from the command line
git remote add origin git@github.com:pumadong/cl-privilege.git
git push -u origin master
现在我们可以在GitHub中看到这个master分支了:
https://github.com/pumadong/cl-privilege
关于Git,在Windows及Mac下面,都有GUI程序可用,在linux下面,貌似只有git命令可用了。
如果这个项目在Eclipse打开时,没有识别Git,可以删除项目,从GitHub上克隆一次:git clone git@github.com:pumadong/cl-privilege.git
Git和GitLab
GitHub对于私用来说,是很贵的。对于公司内部使用,一般是使用GitLab。
http://www.gitlab.com/
http://www.uloli.com/p/6sh26/
FAQ
在Eclipse中Pull时,报错:The current branch is not configured for pull No value for key branch.mall_2.8.5.merge found in config
解决办法:
找到.git/config文件,增加mall_2.8.5节点即可。
chmod 777 *,会导致Git认为文件被修改。
- Git使用操作指南和GitHub
- Git与TortoiseGit操作和github使用
- Git基本操作和Github的使用
- Git与TortoiseGit操作和github使用
- 【Git入门之十五】Github操作指南
- git和github使用
- git和github使用
- git和gitHub使用
- 使用git操作github配置
- git和Github常用操作
- git及github命令行使用简易指南
- Git和Github初次使用
- Git 和 Github 初次使用
- Git和Github的使用
- Git 和Github初次使用
- git 和 github 使用 初步
- Git 和Github初次使用
- Git 和Github初次使用
- C语言的第二天
- 浅出C++封装性
- web前端面试题
- 代理服务器Squid 使用详解
- poj-2195
- Git使用操作指南和GitHub
- 重写strcpy,strcat,strcmp函数
- 更新Android SDK Manager Mac下修改hosts
- hdu 1907(NIM 变形)
- POJ 1426 Find The Multiple
- cocos2dx函数生命周期
- solaris更改ssh,telnet
- iOS---UITextField动态判断汉字个数
- C++学习之路(vector::clear和vector::erase的区别)