您的位置:首页 > 其它

欢迎使用CSDN-markdown编辑器

2016-01-11 17:39 513 查看

Git常用命令

学习自:http://www.liaoxuefeng.com/wiki/0013739516305929606dd18361248578c67b8067c8c017b000

向其表示诚挚的感谢!

Git常用命令
一用户名和密码配置

二创建版本库

三windows下注意

四创建新文件提交到版本库

五修改文件并提交

六版本回退

七理解缓存区

八管理修改

九远程仓库

十分支

一.用户名和密码配置

$ git config --global user.name "taotao"
$ git config --global user.email "69443245@qq.com"


二.创建版本库

进入指定目录,执行以下命令


$ git init


三.windows下注意

使用notepad++,编码设置为UTF-8 without BOM


四.创建新文件,提交到版本库

新建readme.txt


$ git add readme.txt
$ git commit -m "wrote readme file"


添加多个文件到版本库
创建多个文件a.txt,b.txt


$git add a.txt b.txt
$ git commit -m "add more files"


五.修改文件并提交

修改文件之后,查看状态


$ git status


查看上次修改内容


$ git diff readme.txt


缓存文件


$ git add readme.txt


查看文件状态


$ git status


提交文件


$ git commit -m "add distributed"


查看文件状态


$ git status


六.版本回退

查看操作记录


$ git log //参数可选--pretty=oneline


回退到上一个版本


$ git reset --hard HEAD^


回退到上$ git reset --hard HEAD^^到上一百个版本


$ git reset --hard HEAD~100


回退之后,撤销回退
执行回退的窗口关闭前,向上翻到回退之前的版本号


$ git reset --hard c8ae579175cef35529  //版本号的前几位


查看所有操作命令,查找commit id


$ git reflog


七.理解缓存区

当前工作目录中有git生成的.git文件夹,称为git的版本库Repository
其中有称为stage的暂存区
当执行git add fileName的时候,会将文件复制到stage中,
当执行git commit 的时候,会将stage中的所有内容提交


八.管理修改

查看工作区和版本库最新版的区别


$ git diff HEAD -- readme.txt


撤销修改


$ git checkout -- readme.txt


其中,有两种情况:
1.readme.txt未放到暂存区,撤销修改就回到和版本库一样的状态
2.readme.txt已经添加到暂存区,撤销修改就回到添加到暂存区后的状态
总之,就是让这个文件回到最近一次git add或者git commit的状态
将暂存区的修改撤销回工作区


$ git reset HEAD readme.txt


删除文件
在系统中删除文件后,
若确实要删除文件,则执行


$ git rm test.txt
$ git commit -m "remove test.txt"


否则


$ git checkout -- test.txt


九.远程仓库

生成秘钥


$ ssh-keygen -t rsa -C "youremail@example.com"


十.分支

创建分支


$ git checkout -b dev //-b表示创建并切换,等同于 git branch dev;git checkout dev;


查看当前分支


$ git branch //当前分支前会有一个*


切换分支


$ git checkout master


合并分支


git merge dev


删除分支


$ git branch -d dev


解决冲突
如果多个分支,或多个账户修改了同一个文件,merge的时候就会失败,需要解决冲突


$ git status //查看冲突状态


修改冲突文件后,add,commit
查看分支合并情况


$ git log --graph --pretty=oneline --abbrev-commit


分支管理策略
产品分支master
开发分支dev
每个人分支personal
产品发布时将dev分支合并到master,平时用户工作在自己的分支,将修改提交到dev分支上
临时保存当前修改内容,不提交的情况下切换分支


$ git stash


查看保存的工作现场


$ git stash list


恢复现场且删除stash


$ git stash pop


恢复现场,不删除stash


$ git stash apply stash@{0} //这个编号是git stash list 中查看的


强制删除未合并的分支


$ git branch -D bug-101
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: