创建仓库
在本地某一文件夹下
git init 初始化,把当前的目录变成可以管理的git仓库,生成隐藏.git文件
git add README.md 添加README.md文件到暂存区
git commit -m "first commit" 提交到本地仓库
git remote add origin git@github.com:danxiang/MyGit.git 关联一个远程库
git push -u origin master (第一次用 -u 关联连接)
git remote remove origin 断开连接
git clone git@github.com:danxiang/MyGit.git 克隆分支(直接在某一文件夹下使用git命令)
git config --global credential.helper store 生成一个配置文件,pull每次都要输密码时使用这个,然后再输入一次密码就好了
git remote 查看远程库信息
git remote –v 查看远程库的详细信息
git status 查看状态
git cherry -v 查看未push的提交记录(已经commit 但未push)
git log master ^origin/master 则可以查看未传送提交的详细信息
git push origin master 推送至master分支
git pull origin dev1.0 拉取
git checkout 文件名 放弃某个文件的所有修改
git checkout . 放弃所有文件的所有修改
git reset --hard 放弃所有文件的所有修改
git clean -df 强制丢弃本地修改
版本控制
git reset –hard HEAD^ 回退到上一个版本
git reset –hard HEAD^ 回退到上上一个版本
git reset –hard HEAD~100 回退到前100个版本
git reset –hard 版本号 回退到指定的版本号
git push origin master -f 强制提交
分支管理
git branch 查看本地所有分支
git branch -a 查看远程所有分支
git branch dev1.0 创建分支
git checkout dev1.0 切换分支
git checkout -b dev1.0 创建并切换分支
git merge dev1.0 合并dev1.0分支到当前分支(需先切到master分支再把dev1.0合并到master上)
git branch -d dev1.0 删除本地分支
git push origin --delete dev1.0 删除远程分支
git push origin dev1.0 把dev1.0分支推到远程分支
git branch -m oldName newName 本地分支重命名
2.远程分支重命名
.如果修改远程分支,只需要将本地分支重命名为新分支名称,然后删除远程分支,再把本地分支上传就可以了
git merge --abort 中断merge状态,commit后拉代码时用
git reset --hard commit_id 撤销commit
git stash 把当前的工作隐藏起来 等以后恢复现场后继续工作
git stash list 查看所有被隐藏的文件列表
git stash apply 恢复被隐藏的文件,但是内容不删除
git stash drop 删除文件
git stash pop 恢复文件的同时 也删除文件
git tag 列出现有tag
git tag -l 'v1.4.2.*' 模糊列出现有tag
git tag <name> 打tag节点
git tag v0.9 f52c633<commitId> 对某次commit提交打标签
git tag -a v0.1 -m "version 0.1 released" 1094adb 创建带有说明的标签,用-a指定标签名,-m指定说明文字
git ls-remote --tags origin 查看远程所有 tag
git push --tag 提交tag
git tag -d <tagName> 删除tag
git push origin <tagName> 推送到远程仓库
git checkout -b <branchName> <tagName> 检出标签
git show v0.1
git checkout . #本地所有修改的。没有的提交的,都返回到原来的状态
git checkout --fileName 丢弃该fileName文件的修改
这里有2种情况,如下:
1、还没有放到暂存区,使用 撤销修改就回到和版本库一模一样的状态。
2、另外一种是readme.txt已经放入暂存区了,接着又作了修改,撤销修改就回到添加暂存区后的状态
git diff readme.txt 查看readme.txt文件修改的内容
git log 查看历史记录
在git中如果想忽略掉某个文件,不让这个文件提交到版本库中,可以使用修改根目录中 .gitignore 文件的方法(如无,则需自己手工建立此文件)。这个文件每一行保存了一个匹配的规则例如:
此为注释 – 将被 Git 忽略
*.a # 忽略所有 .a 结尾的文件
!lib.a # 但 lib.a 除外
/TODO # 仅仅忽略项目根目录下的 TODO 文件,不包括 subdir/TODO
build/ # 忽略 build/ 目录下的所有文件
doc/*.txt # 会忽略 doc/notes.txt 但不包括 doc/server/arch.txt
|
规则很简单,不做过多解释,但是有时候在项目开发过程中,突然心血来潮想把某些目录或文件加入忽略规则,按照上述方法定义后发现并未生效,原因是.gitignore只能忽略那些原来没有被track的文件,如果某些文件已经被纳入了版本管理中,则修改.gitignore是无效的。那么解决方法就是先把本地缓存删除(改变成未track状态),然后再提交:
git rm -r --cached .
git add .
git commit -m 'update .gitignore'
git push origin
mkdir fileName 创建一个空目录 fileName指目录名
pwd 显示当前目录的路径。
cat fileName 查看文件内容
rm fileName 删除文件