git 操作

如果已存在项目

1、在git bash里 进入项目所在目录, git init //初始化

2、git config --globle user.name 'happy' //设置远程仓库

3、git config --globle user.email 'stone8386@sina.com'  //设置远程仓库

4、用浏览器打开远端git 仓库, 比如 https://gitee.com/, 新建仓库,比如salary, 然后复制 克隆地址, 比如“https://gitee.com/happy76819/salary.git”

5、git remote add salary 'https://gitee.com/happy76819/salary.git'   //设置远程仓库地址

6、git pull salary master //从远程仓库拉取文件和本地文件合并

7、git add -A  //提交到本地临时库

8、git commit -m'first commit' //提交到本地仓库

9、git  push --set-upstream salary master

10、 git push   //上传到远程仓库

 

git status //当前状态

git reset HEAD  <file> //把暂存区恢复到之前的状态  用本地仓库文件覆盖暂存区文件 git reset HEAD~2 回到前2个快照

git chechout --<file> //用暂存区的文件覆盖工作区的文件

git log //查看历史记录

 

git reset --mixed HEAD~  ([--mixed],默认添加该参数)

-移动HEAD的指向, 将其指向上一个快照

-将HEAD移动后指向的快照回滚到暂存区

git reset --soft HEAD~

移动HEAD指向,将其指向上一个快照, 不会把仓库文件覆盖到暂存区

git reset --hard HEAD~

移动HEAD的指向,将其指向上一个快照

将HEAD移动后 指向的快照回滚到暂存区

将暂存区的文件还原到工作目录

 

 git reset {id} 直接回滚到指定快照  (git log 查看id)

git reset 版本快照 文件名/路径

比较工作区和暂存区

git diff

 

执行带 --amend 选项的commit 提交命令, git就会更正最近一次提交 不会产生新的快照

git commit --amend -m '新的说明'

 

删除文件

git rm <filename>  //删除只是工作目录和暂存区域的文件, 也就是取消跟踪, 在下次提交时不纳入版本管理

git reset --soft HEAD~  把仓库里的快照恢复到上一快照

 

重命名

git mv oldfilename newfilename

git 分支

创建分支

git branch  分支名称

git log --decorate

切换分支

git checkout 分支名

git log --decorate --online --graph --all

 

合并分支

git merge 分支名

git checkout -b 分支名   创建分支,并切换过去

 

删除分支

git branch -d 分支名

 

 

Git忽略规则(.gitignore配置)不生效原因和解决

 

  

 

第一种方法:
.gitignore中已经标明忽略的文件目录下的文件,git push的时候还会出现在push的目录中,或者用git status查看状态,想要忽略的文件还是显示被追踪状态。
原因是因为在git忽略目录中,新建的文件在git中会有缓存,如果某些文件已经被纳入了版本管理中,就算是在.gitignore中已经声明了忽略路径也是不起作用的,
这时候我们就应该先把本地缓存删除,然后再进行git的提交,这样就不会出现忽略的文件了。
  
解决方法: git清除本地缓存(改变成未track状态),然后再提交:
[root@kevin ~] # git rm -r --cached .
[root@kevin ~] # git add .
[root@kevin ~] # git commit -m 'update .gitignore'
[root@kevin ~] # git push -u origin master
 
需要特别注意的是:
1).gitignore只能忽略那些原来没有被track的文件,如果某些文件已经被纳入了版本管理中,则修改.gitignore是无效的。
2)想要.gitignore起作用,必须要在这些文件不在暂存区中才可以,.gitignore文件只是忽略没有被staged(cached)文件,
    对于已经被staged文件,加入ignore文件时一定要先从staged移除,才可以忽略。
 
第二种方法:(推荐)
在每个clone下来的仓库中手动设置不要检查特定文件的更改情况。
[root@kevin ~] # git update-index --assume-unchanged PATH                  //在PATH处输入要忽略的文件

 

 

转载于:https://www.cnblogs.com/leon-ytparty/p/10566508.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值