1.删除文件:先删除本地缓存,重新加到缓存区,重新提交
git rm -r --cached .
git add .
git commit -m 'update .gitignore'
git push origin master
2.初始化提交项目
.gitignore
/disconf/
/.idea/
/monitormonitor.log
/span/
**/.settings
**/.project
**/target
*/*.iml
规则 作用 /mtk 过滤整个文件夹 *.zip 过滤所有.zip文件 /mtk/do.c 过滤某个具体文件 !/mtk/one.txt 追踪(不过滤)某个具体文件 注意:如果你创建.gitignore文件之前就push了某一文件,那么即使你在.gitignore文件中写入过滤该文件的规则,该规则也不会起作用,git仍然会对该文件进行版本管理。
配置语法 以斜杠“/”开头表示目录; 以星号“*”通配多个字符; 以问号“?”通配单个字符 以方括号“[]”包含单个字符的匹配列表; 以叹号“!”表示不忽略(跟踪)匹配到的文件或目录。 注意: git 对于 .gitignore配置文件是按行从上到下进行规则匹配的
推送现有文件夹
cd existing_folder
git init
git remote add origin http://10.133.92.106/uisit/qm-website.git
git add .
git commit -m "Initial commit"
git push -u origin master
merge 比如切换dev分支,把远程master覆盖到本地
常用命令
常用命令指的是在Git命令行中发送的操作指令,在使用Git图形工具的过程中,这些命令不再需要我们手动输入,但仍然需要熟悉掌握一些基本的命令:
1. Clone
将远端代码克隆到本地电脑。
Git clone http://10.133.92.106/iuap-test/demo-fe.git
2. Init
在本地电脑中初始化仓库,仍然需要在远端创建项目仓库与之映射。
Git init
3. Remote add origin
本地仓库映射远端源,Git init初始化后执行
git remote add origin http://xxx/test.git
4. Add
将本地仓库中修改的文件添加到commit请求中
Git add . 添加所有修改和新增的文件,但不包括已删除的文件,注意有个小数点!
Git add -u 仅添加新增
Git add -A 添加所有,包括已删除的文件
Git add -all 同上
5. Commit
提交修改到本地仓库,仅对已经执行了add操作的文件生效
commit命令不会影响远端仓库
Git commit -m “描述” 注意描述是必填项,需使用英文双引号
6. Pull
拉取远端仓库的修改到本地仓库
Git pull
7. Push
推送本地仓库的修改到远端,通常先需要先执行pull操作再执行push
Git push 根据分支映射推送代码
Git push -u origin master 推送到master分支
8. Checkout
切换分支
Git checkout dev 切换到dev分支
9. Merge
分支合并
Git pull
Git checkout test
Git merge dev
以上操作将dev分支合并到test,使用命令合并容易弄反!
Merge命令可以在gitlab网页页面上操作:
10. Fetch
Git fetch
同步远端的更改。在git pull命令中自带同步操作。
11. Remote
Git remote -v
查看当前本地仓库映射的远端仓库
12. Show
Git show
查看当前仓库信息
13. Status
Git status
查看当前仓库状态
语法说明:
# 井号 表示注释说明,不起作用
# 忽略所有后缀为.txt的文件
*.txt
# 否定忽略 lib.txt, 尽管前面已经忽略了 .txt 文件
!lib.txt
# 仅在当前目录下忽略 TODO 文件, 但不包括子目录
/TODO
# 忽略 build/ 文件夹下的所有文件
build/
#忽略build文件夹下的所有文件,但不包括build文件夹本身
build/*
# 忽略doc下的.txt后缀文件:忽略doc/notes.txt, 不包括 doc/server/arch.txt
doc/*.txt
# 忽略在 doc/下的所有的 .txt 文件
doc/**/*.txt
git在本地会保存两个版本的仓库,分为本地仓库和远程仓库。
1、本地仓库就是我们平时 add、commit 的那个仓库。
2、远程仓库可以用git remote -v查看(这里的远程仓库是保存在本地的远程仓库,等同于另一个版本,不是远程的远程仓库)。
说说 fetch 和 pull 的不同:
fetch 只能更新远程仓库的代码为最新的,本地仓库的代码还未被更新,我们需要通过 git merge origin/master 来合并这两个版本,你可以把它理解为合并分支一样的。
pull 操作是将本地仓库和远程仓库(本地的)更新到远程的最新版本。
获取git更改的文件复制到相关文件夹目录
cp $(git ls-files --modified) ../modified-files 不带目录
带目录
# 在源代码根目录,使用git status命令获取已修改文件的列表
git status | grep modified | awk '{print $2}' > list.txt
# 在当前目录下,创建temp目录
mkdir temp
# 将已修改文件列表逐一复制到当前目录下的temp目录
xargs -a ./list.txt cp --parents -t ./temp
https://blog.csdn.net/yang_quan_yang/article/details/80901753