标签:
学习Git笔记
经过这段时间的学习,对Git有了一个初步的认识,也明白了它与SVN的区别,相对于SVN来说,Git真的很酷。
以下用命令来记录它的使用特性:
// 添加或修改
git add file_name
git commit -m ‘comment‘ file_name
// 删除
git rm file_name
git commit -m ‘remove a file‘ file_name
// 状态
git status
// 日志
git log
// 图像式的显示日志
git log --graph
// 记录每一次命令
git relog
// 把版本库恢复到某一版本
git reset --hard commit号(可以是HEAD^ (^是上一,多个则多次上一))
// 把文件恢复到某一版本
git reset --hard commmit_num file_name
// 清除暂存区
git reset HEAD file
// 让该文件与版本库一致,即撤销修改
git checkout -- file_name
//关联GitHub上远程库
git remote add origin git@github.com:willtsang/learngit.git
//推送本地库到远程
git push origin 分支名
// 推送的同时会关联远程分支名与本地分支名
git push -u origin 分支名
// 克隆远程GitHub上的库 到本地
git clone git@github.com:willtsang/learngit.git
// 查看分支
git branch
// 创建分支
git branch dev
// 删除分支 (合并该分支后)
git branch -d dev
// 强制删除分支即使未合并
git branch -D dev
// 切换分支
git checkout dev
// 创建并切换分支
git checkout -b dev
// 合并分支
git merge dev
// 非Fast Forward 合并分支
git merge --no-ff -m ‘comment‘
// 暂存修改
git stash
// 暂存查看
git stash list
// 暂存恢复第一个版本
git stash apply
// 指定版本恢复
git stash apply stash@{1}
// 恢复且删除该版本
git stash pop
// 删除该版本
git stash drop
// 查看远程信息
git remote -v
// 向远程推送本地master库
git push origin master
// 从远程拉取与本地分支相对应该的分支到当前分支 , 并合并
git pull
// 从远程拉取origin/master到当前分支 (在不是对应分支下会产生merge,最好还不是加参数)
git pull origin master
// 在本地创建远程上的分支
git checkout -b dev origin/dev
// 本地分支名与远程分支名关联
git branch --set-upstream-top=origin/dev dev
概念:
工作区,暂存区,库
在工作区进行编辑,提交到暂存区,再由暂存区提交到库,checkout -- file 是从库中恢复文件
如何恢复?
恢复的是版本库中的文件,而工作区,与暂存区的内容都未更改,即未恢复,这时用git status 可以看到,检测到了修改,并add到了暂存区
HEAD
这是一个指针,指向时间线上的某一点
合并,解决冲突
git merge dev
把dev分支合并到当前分支,当出现文件冲突时,则需要手动更改文件,再add,commit 从而解决冲突
多人协作
多人协作则依赖于远程服务器,
1,推送分支库 git push origin dev
2,不成功则需先git pull ,这时,文件有冲突则在本地修改add,commit,解决冲突后再进行git push origin dev
这十几个命令就可以满足在大部分的需要了。
标签:
原文地址:http://www.cnblogs.com/z1298703836/p/4554254.html