git 一些不常用否操作记录
- 拉取远程仓库到项目: git clone http://git.***********.git
cd 到项目目录 - 查看拉取的全部分支:git brach -a
(此时git branch 只能看到master分支) - 在本地新建分支并与远程仓库的分支进行关联:git checkout -b <branch> origin/<branch>
(<branch> 分支名称) - 查看提交日志:git log
- 版本回滚:git reset --hard <版本号>
(git log 可查看版本号,版本号不用写全) - 远程仓库的版本回滚:
- 先在本地将版本回滚
- git push -f 强制提交
- merge单一文件
- git checkout -p <branch> <file>
- 暂存和恢复
- git stash
- git stash pop
- 忽略提交文件
-
编辑 .gitignore 文件
-
匹配语法示例:
bin/: 忽略当前路径下的bin文件夹,该文件夹下的所有内容都会被忽略,不忽略 bin 文件
/bin: 忽略根目录下的bin文件
/.c: 忽略 cat.c,不忽略 build/cat.c
debug/.obj: 忽略 debug/io.obj,不忽略 debug/common/io.obj 和 tools/debug/io.obj
/foo: 忽略/foo, a/foo, a/b/foo等
a//b: 忽略a/b, a/x/b, a/x/y/b等
!/bin/run.sh: 不忽略 bin 目录下的 run.sh 文件
*.log: 忽略所有 .log 文件
config.php: 忽略当前路径的 config.php 文件 -
.gitignore规则不生效
.gitignore只能忽略那些原来没有被track的文件,如果某些文件已经被纳入了版本管理中,则修改.gitignore是无效的。解决方法就是先把本地缓存删除(改变成未track状态),然后再提交:
git rm -r --cached .
git add .
git commit -m ‘update .gitignore’
-