常用命令:
一. 配置git提交的个人信息,请大家配置成自己的名字及公司分配的邮箱地址
git config —global user.name “name”
git config —global user.email “[email protected]”
二. 初始下载远程代码
git clone [email protected]:project.git
三. 提交到本地仓库
git add .
git commit -m “comment”
四. 更新代码
新保持本地工作区干净,即进行过将代码合入到本地仓库
通过git status命令可以查看,会有如下的信息
nothing to commit, working directory clean
再更新代码
git pull —rebase
五. 提交代码到远程
git push
六. .gitignore 文件
是过滤本地文件的,可以将本地个人环境或个人测试及编译中间文件,运行动态文件的过滤掉,
不上传到服务器,保持远程代码库的纯净
七. 建议开发者创建本地开发分支,还有一个是同步远程代码的分支
git branch dev
git checkout dev
可创建开发分支dev, checkout 可切换分支
在dev分支上进行编写代码,
master分支为同步代码分支,
在本场景中,上传代码时可以这样:
假设当前分支在dev
通过git branch命令可以查看当前分支是什么
jinlibindembp:test jinlibin$ git branch
* dev
master
如dev前面有*号,说明当前分支在dev分支
1. 在开发工具中编写代码
2. 提交代码命令
git add .
git commit -m “add”
3. 切换分支到master
git checkout master
4.更新远程代码
git pull —rebase
5. 合并远程代码到dev
git rebase master dev
此时可能代码会从conflict, git工具会提示conflict的文件
那需要人工解决conflict,将冲突代码文件重新处理好,
再进行
git add .
git rebase —continue
成功此时分支将切换到dev
6. 分支切换到master
git checkout master
7. 合并代码到同步分支master
git merge dev
8. 将代码提交到远程
git push
9. 切换分支到dev
git checkout dev
10. 继续编码
采用此种方式处理,那代码的每个提交结点将成为一条线,不会有分叉,对代码回退有方便之外。
master : 默认开发分支; origin : 默认远程版本库
以下内容为转载:
初始化操作
$ git config -global user.name <name> #设置提交者名字
$ git config -global user.email <email> #设置提交者邮箱
$ git config -global core.editor <editor> #设置默认文本编辑器
$ git config -global merge.tool <tool> #设置解决合并冲突时差异分析工具
$ git config -list #检查已有的配置信息
创建新版本库
$ git clone <url> #克隆远程版本库
$ git init #初始化本地版本库
修改和提交
$ git add . #添加所有改动过的文件
$ git add <file> #添加指定的文件
$ git mv <old> <new> #文件重命名
$ git rm <file> #删除文件
$ git rm -cached <file> #停止跟踪文件但不删除
$ git commit -m <file> #提交指定文件
$ git commit -m “commit message” #提交所有更新过的文件
$ git commit -amend #修改最后一次提交
$ git commit -C HEAD -a -amend #增补提交(不会产生新的提交历史纪录)
查看提交历史
$ git log #查看提交历史
$ git log -p <file> #查看指定文件的提交历史
$ git blame <file> #以列表方式查看指定文件的提交历史
$ gitk #查看当前分支历史纪录
$ gitk <branch> #查看某分支历史纪录
$ gitk --all #查看所有分支历史纪录
$ git branch -v #每个分支最后的提交
$ git status #查看当前状态
$ git diff #查看变更内容
撤消操作
$ git reset -hard HEAD #撤消工作目录中所有未提交文件的修改内容
$ git checkout HEAD <file1> <file2> #撤消指定的未提交文件的修改内容
$ git checkout HEAD. #撤消所有文件
$ git revert <commit> #撤消指定的提交
分支与标签
$ git branch #显示所有本地分支
$ git checkout <branch/tagname> #切换到指定分支或标签
$ git branch <new-branch> #创建新分支
$ git branch -d <branch> #删除本地分支
$ git tag #列出所有本地标签
$ git tag <tagname> #基于最新提交创建标签
$ git tag -d <tagname> #删除标签
合并与衍合
$ git merge <branch> #合并指定分支到当前分支
$ git rebase <branch> #衍合指定分支到当前分支
远程操作
$ git remote -v #查看远程版本库信息
$ git remote show <remote> #查看指定远程版本库信息
$ git remote add <remote> <url> #添加远程版本库
$ git fetch <remote> #从远程库获取代码
$ git pull <remote> <branch> #下载代码及快速合并
$ git push <remote> <branch> #上传代码及快速合并
$ git push <remote> : <branch>/<tagname> #删除远程分支或标签
$ git push -tags #上传所有标签
转载处:http://www.douban.com/note/245204752/