12

git 命令详细

git是代码管理工具

github是基于git实现的代码管理平台

 

下载    https://git-scm.com/download/win

 

 

安装   :  一路选默认值即可

 

git --version 查看git版本

git remote -v 查看clone地址

git init 初始化git

//全局设置

git config --global user.name 'sttan' 

git config --global user.email '994518961@qq.com'

git status 查看当前文件状态 需要添加那些文件 是否成功

git add index.html 添加文件  (  git add *.html 添加此类文件   git add . 是全部添加 )

git status 再次查看状态看是否添加成功

git rm --cached index.html 撤销刚刚提交的index

git status 再次查看状态可看到index没有提交 

git commit //提交 (先 i 进入编辑模式打备注,写好备注直接esc 然后英文 :wq 退出   或者git commit -m  '备注')    

 

* 删除分支 (本地、远程)

git branch -a 查看所有分支(remotes 表示远程分支)

 

删除本地分支 先要切换到master或其他分支

git checkout master

然后再删除本地分支

git branch -d 5-3

 

git push origin --delete 5-2  删除远程分支  git push origin -d 5-2 缩写

 

 

 

*git创建分支
 
本地创建 分支 
git branch fenzhi1  (创建 fenzhi1, ------原来分支文件需要提交完事 在创建分支)
 
git checkout -b 8-7 (创建并切换到 8-7 分支 , 相当于 git branch 8-7     git checkout 8-7  两步)
远程提交分支 
git push -u origin fenzhi1( 提交自己创建的分支 无论在哪个分支上都能提交)
 
// 切换分支 
git checkout fenzhi1  切换到fenzhi1 分支
 
*copy 分支
其实也就是 创建分支  在master或其他分支上上面创建相当于copy了master或其他分支的内容
这个可以用来在回退版本的时候 可以存储自己的内容  
 
*重命名分支
 
git branch -m 8-7 8-77 (将本地分支8-7 改名为 8-77   此时8-77 copy了8-7的内容 )
git push origin 8-77 提交到远程仓库    (此时远程仓库有8-7 和 8-77  )
git push origin --delete 8-7   删除8-7
 
 
 
 
*合并分支
 
首先必须切换到master主干
然后 git merge fenzhi1   //这时 主分支也就具备了fenzhi1里面的代码内容
 
 

 *版本回退

 

1.个人版本

git reflog 查看历史版本

git reset --hard Obfafd 回退版本

git push -f 推送到远程分支(强制远程失败 可以尝试git push -f origin branch_name 其中 branch_name为支杆名称 如 git push -f origin master)

2.公共版本

git reflog 查看历史版本

git revert 0ffaacc 使用 revert 代替 reset 回退版本   (git revert 命令的好处就是不会丢掉别人的提交,即使你撤销后覆盖了别人的提交,他更新代码后,可以在本地用 reset 向前回滚,找到自己的代码,然后拉一下分支,再回来合并上去就可以找回被你覆盖的提交了。

那如何用 reset 向前回滚,找到自己代码 拉一下分支  再回来合并呢

git checkout my_branch //先回到自己的分支
git reflog //接着看看当前的commit id,例如:0bbbbb
git reset --hard cccaaa //回到被覆盖的 cccaaa版本
git checkout -b my_branch_cccaaa //拉个分支,用来copy cccaaa
git checkout my_branch //拉完分支,迅速回到自己分支

git reset --hard 0bbbbbb //马上回到自己分支的最前端

*git reset --hard origin/master //如果用的是 git reset 回退版本 那么还要执行以下这一步  就是与远程分支保持一致

git merge my_branch_cccaaa   //然后回到主分支或者分支  合并 cccaaa版本

 

 

git 上传忽略某些文件

创建 .gitignore

*.text //忽略后缀名为text
.gitignore // 忽略当前文件
file1/ //忽略文件夹file1
 
 git pull每次都要输入账号 密码  
git config --global credential.helper store  缓存账号密码
 
 
posted @ 2018-12-13 16:24  那片海岸  阅读(148)  评论(0编辑  收藏  举报