代码的世界虽逻辑繁华,却又大道至简。
Git的安装与向导
1.命令行窗口输入 git --version 查看是否已安装Git及确定版本号,没有安装请至官网
2.官网下载链接:https://git-scm.com/
3.双击安装就掠过啦
Git 文档下载:
https://github.com/progit/progit2-zh/releases/download/2.1.62/progit.pdf
Git分支管理策略:
https://www.ruanyifeng.com/blog/2012/07/git.html
常用命令
(括号[]里表示参数,实际操作中请去掉[],并将里面的内容替换为你本地的实际参数)
-
ls 列出当前目录下所有文件
-
git init 对需要Git帮你管理的文件夹进行初始化操作(打开命令行窗口cd到需要Git帮你管理的文件夹下,例如cd [D:/root/needGitControlDirectory/],回车,然后输入此命令 git init,回车)
配置gitignore -
git remote add origin [https://github.com/xxxprojectName.git] 将本地仓库关联到远程仓库
-
git status 查看当前分支文件修改状态
-
git add [filePath] 将单个修改过的文件添加到当前分支的 '暂存区'
git add . 将所有修改过的文件添加到 当前分支的 '暂存区' -
git commit -m "yourNotes" 将添加的文件提交到当前分支的 ‘本地仓库’,并添加注释说明“yourNotes”
6.1 git reset head [fileName] [fileName2] 撤销对文件fileName(2)已进行的add操作,切回到Changes to be add状态
6.2 git reset head^或git reset head~1 把最后的commit切回到Changes to be add状态
- git pull --rebase origin [branchName] 拉取远程branchName代码并与本地代码合并
-此步骤执行完,如有冲突,请解决冲突,并根据提示执行git rebase --continue
8.1 git push origin [remoteBranchName] 将当前分支的 '本地仓库' 代码提交到具有相同分支名的远程分支
8.2 git push origin --force 将当前分支(可见节点)⚠️强制 提交到远程覆盖掉.(⚠️危险操作,请勿轻易执行)
- git stash 将当前分支修改过的内容暂存起来
10.1 git checkout [branchName] 将当前分支切换到目标branchName分支
10.2 git checkout -b [dev] [remote_branch_name] 基于[remote_branch_name]创建本地名为dev的分支,并切到到该dev分支
- git reflog 查看过去所有操作
12.1 git reset --hard [@hashCode] 一般在执行reflog后,用此命令做撤销过去已被执行过的git命令动作,也即回退到当前分支之前的某个节点.
12.2 git reset --hard 回退到当前分支最新提交节点.
13.1 git branch -l查看本地所有分支信息
13.2 git branch -r查看远程所有分支信息
13.3 git branch [branchName] 创建本地分支
13.4 git branch -D [branchName] 删除本地分支
13.5 git branch | grep 'branchName' 模糊查找分支
另外我们还需要记住的是: tag 与branch 是两条并行线,branch 全删除了,tag依旧在。
- git push origin --delete [branchName] 删除远程分支
15.1 git log 查看所有commit信息
15.2 git log –pretty=oneline 整个提交历史记录
16.1 git tag 列出现有标签
16.2 git tag -a [v1.4] -m ['version 1.4'] 当前节点打标签v1.4,并添加说明文字为 version 1.4
16.3 git tag -a [v1.2] [9fceb02] 之前忘了打标签,后期重新为节点9fceb02贴上标签v1.2
16.4 git push origin [tagName] 将标签push到远程
16.5 git push origin --delete [tagName] 删除远程标签
16.6 git checkout -b branch [tagName] 创建一个基于指定tag的分支
全局修改用户名及邮箱用以适用于任何项目:
17.1 git config --global user.name [userName]
17.2 git config --global user.email [userEmail]
- git commit --amend --author="authorName yourEmail@xxxx.com" --no-edit 强制修改最新节点的提交者信息
19.git不追踪已经追踪的文件
a.先修改 .gitignore文件 填上排除项
b.执行git 命令
(单个文件操作)
git rm --cached readme1.txt 删除readme1.txt的跟踪,并保留在本地。
(加-r 就是目录的意思)
git rm -r --cached 目录名 删除某个目录内所有文件追踪,并保留在本地。
git rm --f readme1.txt 删除readme1.txt的跟踪,并且删除本地文件。
c.最后正常git commit 所有即可
20.git remote prune origin
清除本地已经失效的远程分支信息(git branch -a 不会显示已经失效的远程分支名)
submodule
- git submodule init 初始化本地配置文件
git submodule update 检出父仓库列出的commit
或使用组合命令
git submodule update --init --recursive
其他
git rm -r --cached
-----------------------------End-----------------------------
网友评论