git使用
完整的流程是:
第一种方法:(简单易懂)
1、git add .(后面有一个点,意思是将你本地所有修改了的文件添加到暂存区)
2、git commit -m""(引号里面是你的介绍,就是你的这次的提交是什么内容,便于你以后查看,这个是将索引的当前内容与描述更改的用户和日志消息一起存储在新的提交中)
3、git pull origin master 这是下拉代码,将远程最新的代码先跟你本地的代码合并一下,如果确定远程没有更新,可以不用这个,最好是每次都执行以下,完成之后打开代码查看有没有冲突,并解决,如果有冲突解决完成以后再次执行1跟2的操作
4、git push origin master 将代码推至远程就可以了
第二种方法:
1、git stash (这是将本地代码回滚值至上一次提交的时候,就是没有你新改的代码)
2、git pull origin master(将远程的拉下来)
3、git stash pop(将第一步回滚的代码释放出来,相等于将你修改的代码与下拉的代码合并)
然后解决冲突,你本地的代码将会是最新的代码
4、git add .
5、git commit -m""
6、git push origin master
这几步将代码推至了远程
最后再git pull origin master 一下,确保远程的全部拉下来,有的你刚提交完有人又提交了,你再拉一下会避免比的不是最新的问题
如果希望保留生产服务器上所做的改动,仅仅并入新配置项, 处理方法如下:
git stash
git pull
git stash pop
然后可以使用git diff -w +文件名 来确认代码自动合并的情况.
- git stash: 备份当前的工作区的内容,从最近的一次提交中读取相关内容,让工作区保证和上次提交的内容一致。同时,将当前的工作区内容保存到Git栈中。
- git stash pop: 从Git栈中读取最近一次保存的内容,恢复工作区的相关内容。由于可能存在多个Stash的内容,所以用栈来管理,pop会从最近的一个stash中读取内容并恢复。
反过来,如果希望用代码库中的文件完全覆盖本地工作版本. 方法如下:
git reset --hard
git pull
在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只能忽略那些原来没有被追踪的文件,如果某些文件已经被纳入了版本管理中,则修改.gitignore是无效的。那么解决方法就是先把本地缓存删除(改变成未被追踪状态),然后再提交,这样就不会出现忽略的文件了。git清除本地缓存命令如下:
git rm -r --cached . git add . git commit -m 'update .gitignore'
注意::不要误解了.gitignore的用途,该文件只能作用于未被跟踪的文件,也就是那些从来没有被git记录过的文件(自添加以后,从未add及commit过的文件)。如果文件曾经被git记录过,那么.gitignore就对他们完全无效。