注意:
本文章所写所有命令均在Git命令行窗口执行!非cmd窗口!
打开git命令行窗口步骤为:到项目根目录下执行bash命令行操作:右键点击Git Bash Here菜单,打开git命令窗口,不是cmd窗口!如果没有该菜单,请先下载并安装小乌龟:TortoiseGit-2.3.0.0-64bit.msi
git本地代码提交过程
增加索引(add) -> 提交(commit) -> 推送(push)
git status 查看项目当前状态,列出所有文件的修改信息,以及远程同步信息,以及文件冲突信息。红色的为已修改文件但未增加索引,绿色的为已增加索引但未提交,提交之后git status命令会提示你有一个commit但尚未push(推送)
git add . 增加索引add to index所有的已修改文件
git add pom.xml 增加索引add to index指定名字的已修改文件
git add src/* 增加索引add to index某路径下所有已修改文件
git rm --cached xxx.java 后悔药!!移除加入add to index的文件,防止误操作使某些不需要上传的文件也增加索引
git commit -m "注释" 提交时必须添加注释
git push 推送之前所有commit提交上来的文件,不包括未提交文件,即不包括已执行add to index命令但未执行commit命令的文件,更加不会执行尚未add to index的文件。
更新代码
git branch 查看当前项目所在分支
git pull 默认在当前分支下执行更新命令,拉取远程代码到本地,到eclipse里面去把更新后的文件冲突解决下:在eclipse里面打开Git Staging视图,点击Unstaged Changes列表中的冲突文件逐一修改,修改完成后,在文件点击右键add index一下(添加索引,相当于git add命令),当文件显示在Staged Changes列表中则表示可以点击右边的按钮“commit and push”(提交并且推送)或者"commit"(只提交)了。
本地分支
git branch 查看本地当前分支名字
git remote -v 查看当前项目所处的远程分支名字并列出url地址
git branch -a 查看所有分支名字
git pull origin master 从指定分支(master)拉取代码到当前分支(dev),查看其它分支名字使用命令git branch -r。举例:假设当前项目分支为master, 执行git branch -r 命令后得到两个分支名字分别叫master/dev和master/fixbug,那么执行git pull master dev或者git pull master fixbug
git push -u origin dev 提交到指定分支上(dev)。举例:假设当前项目分支为master,执行git branch -r 命令后得到分支名字叫master/dev,那么执行git push -u master dev.
git reset --hard 后悔药!!强制还原到上次提交时代码,干掉本地所有修改,所有!如果你刚刚执行了一次git pull的操作,却发现TM有大量的!文件发生冲突,可以执行这个命令,使代码还原到上一次执行git pull 命令之前!而且!此命令会强制恢复到上次提交代码时状态,不论你后来执行了多少次pull拉取代码的操作以及任何git add to index或者git commit的操作,很神奇吧,很好用,因为有时候改着改着,你都不知道代码改成什么样了,而且又忘记了本地备份。而且,代码还原的那个状态是最干净的状态,没有任何冲突!没有任何修改!
远程分支
git brach -r 列出已经存在的远程分支
git fetch 更新本地.git文件夹。在远程有新分支的情况下,如果没有列出所有已存在的远程分支,先使用fetch命令使本地.git文件夹更新。如果fetch后使用git branch -r还是不能罗列出所有远程分支,那么删掉本地项目,送git上重新拉取一边全新的项目,再使用fetch命令更新.git文件夹,此时使用git branch -r即可以看到所有远程分支
git remote 查看当前所处的远程分支名字
git remote -v 查看当前项目所处的远程分支名字并列出url地址
git remote add origin git://xxxx.git 设置远程分支属性,如果一个项目尚未连接远程。origin是分支名字,后面跟git地址
用户名密码
设置
git config --global user.name "wirelessqa" 设置用户名
git config --global user.email "wirelessqa.me@gmail.com" 设置密码
查看
git config --global user.name 查看当前用户名
git config --global user.email 查看当前用户密码
PS:用了一段时间git之后,发现确实比SVN好用,git的正确使用方式是每个人都开一个分支,留下主分支master不要作为开发分支,只做合并就对了!