--工程下载:
- clone 远程工程:git clone https://XXXX.git
- fetch 远程分支到本地某分支:git fetch origin
<orginname>
:<localname>
--查看命令
1 git status 查看仓库状态 2 git diff 查看X文件修改了那些内容 3 git log 查看历史记录 4 git reflog 查看历史记录的版本号id(记录你的每一次命令,不论是否提交)
--版本回退
1 git reset –hard HEAD^ 回退到上一个版本 2 git reset --hard HEAD~第几个 如果想回退到第3个版本,使用git reset –hard HEAD~3 3 git reset --hard 057d 回退到某一个具体的版本号
--撤销修改
1 git checkout file-name 恢复某个已修改的文件(撤销未提交的修改): 2 git revert HEAD 还原最近一次提交的修改: 3 git revert commit-id 还原指定版本的修改
--分支管理
1 git branch 查看本地所有的分支 2 git branch -a 查看远程所有的分支 3 git branch name 创建分支 4 git branch –d dev 删除dev分支 5 git push origin --delete dev 删除远程的dev分支 6 git branch -m dev develop 重命名分支 7 git checkout –b dev 创建dev分支 并切换到dev分支上 8 git merge dev 在当前分支上合并dev分支代 9 git push origin zyf-dev 把当前新疆的zyf-dev分支推送到远程库(远程仓库没有给分支则会新建立该分支) 10 git checkout — * 把XX文件在工作区的修改全部撤销。
--tag相关操作
1 git tag 列出所有的tag 2 git tag name 打轻量标签 name 3 git tag -d name 删除本地的tag 4 git push origin --delete tag name 删除远程的tag 5 git show name 查看tag信息 6 git push origin name 将tag提交到远程
--隐藏的文件
1 git stash 把当前的工作隐藏起来 等以后恢复现场后继续工作 2 git stash list 查看所有被隐藏的文件列表 3 git stash apply 恢复被隐藏的文件,但是内容不删除 4 git stash drop 删除文件 5 git stash pop 恢复文件的同时 也删除文件
--查看远程库信息(git remote的用法)
1 git remote 查看远程库的信息 2 git remote –v 查看远程库的详细信息 3 git remote add name url 添加远程仓库 4 git remote rename oldname newname 重命名仓库 5 git remote rm 删除仓库
--将远程分支拉取到本地
1 方法一:git checkout -b 本地分支名x origin/远程分支名x 2 方式二:git fetch origin 远程分支名x:本地分支名x
--git pull操作
1 git pull命令的作用是,取回远程主机某个分支的更新,再与本地的指定分支合并,基本的格式如下。 2 $ git pull <远程主机名> <远程分支名>:<本地分支名> 3 4 取回origin主机的next分支,与本地的master分支合并,需要写成下面这样 5 $ git pull origin next:master 6 7 如果远程分支是与当前分支合并,则冒号后面的部分可以省略。 8 $ git pull origin next 9 10 上面命令表示,取回origin/next分支,再与当前分支合并。实质上,这等同于先做git fetch,再做git merge。 11 $ git fetch origin 12 $ git merge origin/next 13 14 在某些场合,Git会自动在本地分支与远程分支之间,建立一种追踪关系(tracking)。比如,在git clone的时候,所有本地分支默认与远程主机的同名分支,建立追踪关系,也就是说,本地的master分支自动”追踪”origin/master分支。 15 Git也允许手动建立追踪关系。 16 git branch --set-upstream master origin/next 17 18 上面命令指定master分支追踪origin/next分支。如果当前分支与远程分支存在追踪关系,git pull就可以省略远程分支名。 19 $ git pull origin
--git 删除未添加到版本中的文件或者文件夹
git checkout 只能回退在版本中的修改或者删除, 对于新添加的文件是没有作用的, 也就是说, 新建的文件或者文件夹是:Untracked files, 要删除或者清理掉这些文件,需要使用 git clean 命令:
1 // 删除 untracked files 2 git clean -f 3 4 // 连 untracked 的目录也一起删掉 5 git clean -fd 6 7 // 连 gitignore的untrack 文件/目录也一起删掉 (一般这个是用来删掉编译出来的 .o一类的文件) 8 git clean -xfd 9 10 // 在使用清理 git clean之前,建议加上 -n 来先看看会删掉哪些文件,防止重要文件被误删 11 git clean -nxfd 12 git clean -nf 13 git clean -nf
添加忽略文件 .gitignore
.gitignore配置文件用于配置不需要加入版本管理的文件。
配置语法: "/" 开头表示目录; "*" 通配多个字符; "?" 通配单个字符 "[]" 包含单个字符的匹配列表; "!" 表示不忽略(跟踪)匹配到的文件或目录;
说明:git 对于 .ignore 配置文件是按行从上到下进行规则匹配的,意味着如果前面的规则匹配的范围更大,则后面的规则将不会生效;
示例:(1) foder/* 忽略目录foder下的全部内容,不管是根目录下的 /foder/ 目录,还是某个子目录 /list/foder/ 目录,都会被忽略。
(2) /foder/* 说明:忽略根目录下的 /foder/ 目录的全部内容;
(3) /*!.gitignore
!/fw/bin/
!/fw/sf/
说明:忽略全部内容,但是不忽略 .gitignore文件,根目录下的 /fw/bin/ 和 /fw/sf/
注意问题: .gitignore文件只对还没有加入版本管理的文件起作用,如果之前已经用git把要忽略的文件纳入了版本库,就不起作用了。
git 中部分选项解释
-f
--force:强制-d
--delete:删除-D
--delete --force-m
--move:移动或重命名-M
--move --force-r
--remote:远程-a
--all:所有
配置相关
- 查看当前配置: git config --list
-
修改 git 的 name 和 email :
- git config --global user.name
<name>
- git config --global user.email
<email>
- git config --global user.name