/* git版本管理命令行整理 */
/* git 创建 */
git init
git add .
git commit -am "初始化项目版本"
/* git 本地进行版本管理的一些常用命令 */
git branch -a 列出所有分支名称;
-r 查看远程分支;
name 创建名为name的分支;
-d name 删除名为name的分支;
git checkout 本地分支名 切换到本地某一个分支进行开发
git log --graph 查看git树
git status 查看当前修改
/* git 远程仓库与本地仓库之间的互动 */
git checkout -b 本地分支名 origin/远程分支名 checkout远程分支到本地
git fetch 远程仓库/远程分支名:本地分支名 例如(git fetch origin/master:master)
下载远程分支到本地分支
-f 通常为强制更新 (git fetch origin/master:master -f 这个危险,会把本地强制覆盖)
git fetch origin master
git log -p master..origin/master
git merge origin/master
以上命令的含义:从远程master主分支下载最新版本到origin/master分支上;比较本地的master分支与origin分支的差别;最后进行合并
git pull origin master
该命令的含义:从远程获取最新版本并merge到本地(相当于以上三条命令)
git删除错误提交的commit方法:
本地:git reset --hard <commit id> (<commit id>是git提交的版本编号)
将本地恢复的版本作为远程仓库的最新版本:git push origin HEAD --force
/* git忽略的东西(不做版本管理的文件)*/
命令行创建.gitignore:
touch .gitignore (touch + 文件名命令是创建新的文件)
.gitignore只对从来没有被git记录过的文件有效,如果这些文件被纳入了版本管理,是无效的,要先清除缓存,然后再提交:
git rm -r --cached .
git add .
git commit -m 'update .gitignore'
忽略规则:
a)规则:
fd1/*
说明:
忽略目录 fd1 下的全部内容;注意,不管是根目录下的 /fd1/ 目录,还是某个子目录 /child/fd1/ 目录,都会被忽略;
b)规则:
/fd1/*
说明:
忽略根目录下的 /fd1/ 目录的全部内容;
c)规则:
/*
!.gitignore
!/fw/bin/
!/fw/sf/
说明:
忽略全部内容,但是不忽略 .gitignore 文件、根目录下的 /fw/bin/ 和 /fw/sf/ 目录;