GIT客户端安装:
图形化工具推荐:
http://git-scm.com/downloads/guis
Eclipse插件EGIT:
常用命令
- 配置用户名及邮箱
git config --global user.name "xiaoxinhua" #--global表明本机的所有git仓库均使用该配置
git config --global user.email "xiaoxinhua@xunlei.com"
- 创建本地版本库
cd ~\myrep
git init
1.为~\myrep目录创建版本库,在该目录下会创建一个隐藏的版本库文件夹。
2.在版本库中创建默认主分支 master。
3.将当前的工作目录指针HEAD指向master分支。
- 分支操作
git branch #查看版本库的所有分支,当前使用分支前会用'*'标识
git branch dev #创建名为dev的分支
git branch -d dev #删除名为dev的分支
git checkout dev #切换当前工作目录到dev
git checkout -b dev #创建并切换到dev分支
git merge dev #将dev目录合并到当前分支
git merge --no--ff -m "comment" dev #不使用"Fast forward"模式合并分支。
#merge分支的时候如果出现 conflict,需要先解决 冲突。
- 提交修改到版本库
git add file1.java
git add file2.java
git add file3.java
git commit -m "add 3 java file." #-m 参数为提交添加注释
需要提交的文件修改通通先通过add命令放到暂存区,然后通过commit命令一次性提交暂存区的所有修改。
- 查看当前版本库文件修改状态
git status
- 比较 版本库中文件 和 工作区的文件
git diff readme.txt
- 日志
git log * #查看提交日志
git log --pretty=oneline #以行的形式查看日志,得到的一长串字符串为commit id。
git reflog #查看每一次命令日志
- 回退
git reset --hard HEAD^ #回退到上一个提交
git reset --hard HEAD^^ #回退到上上一个提交
git reset --hard 3628164 #回退到指定的commit id,commit id不需要写完。git会自动匹配。
- 撤销
git checkout -- readme.txt #用版本库里的版本替换工作区的版本
git reset HEAD readme.txt #回退已经add的修改
- 从版本库中删除文件。
git rm test.txt
git commit -m "comment"
- 工作区操作
git stash #保存当前工作区
git stash list #查看保存的工作区
git stash drop stash@{0} #删除工作区存档
git stash apply stash@{0} #加载工作区存档
git stash pop #删除并恢复到最新工作区存档
-
git 远程库地址有3种形式
- https://github.com/xixihe/hello-world.git
- git@github.com:xixihe/hello-world.git
- https://github.com/xixihe/hello-world
-
远程库操作
git remote #查看远程库信息
git remote -v #查看远程库更多信息
git remote add origin git@github.com:xixihe/hello-world.git #添加本地库与远程库的关联,origin为远程版本库的默认命名
git push -u origin master #将当前分支master推送到远程库。
git push origin master #由于远程库为空,-u参数将在远程创建master库并与本地master关联起来。
git clone git@github.com:xixihe/hello-world.git #拉取并关联远程已经存在的库到本地
git checkout -b dev origin/dev #从远程库分支创建本地分支
git pull #拉取远程库的修改到本地版本库
git branch --set-upstream dev origin/dev #关联 本地版本库分支 与 远程库的分支