1、
git基本命令:
git init 初始化一个仓库
git config --global user.name 查看绑在一起的账户名
git config --global user.email 查看绑在一起的邮箱
git add file.txt 添加文件file.txt
pwd 查看当前目录
vi file1.txt 打开或创建文件file1.txt(存在就打开,不存在就创建)
编辑打开的文件按i键,退出文件编辑模式按Esc返回键,回到命令行,再输入:wq回到命令模式
git commit -m "提交记录说明" 提交文件到本地,只是本地 -m后面文字是提交说明
cat readme.txt 查看这个文件的内容
2、
HEAD指向的版本就是当前版本,因此,Git允许我们在版本的历史之间穿梭,使用命令git reset --hard commit_id。(commit_id提交的版本号)
穿梭前,用git log可以查看提交历史,以便确定要回退到哪个版本。
要重返未来,用git reflog查看命令历史,以便确定要回到未来的哪个版本。
git log 查看版本提交记录,方便随时回滚
git log --pretty=oneline 查看版本提交记录,显示的时候是一行显示
git reset --hard HEAD^ 回滚到当前版本之前的一个版本,HEAD表示当前版本,^符号表示HEAD之前的一个版本
git reset --hard coomit_id 回滚到指定的提交id版本,commit_id提交版本id
git reflog 记录每次提交记录
3、暂存区与工作区
Git版本里面存了很多东西,其中最重要的就是称为stage(或者叫index)暂存区,还有Git自动为我们创建的第一个分支master,
以及指向master的一个指针叫HAED
git add 把文件添加到暂存区;
git commit 把暂存区里面的文件提交到当前分支;
git checkout -- file 表示丢弃工作区的修改
git clone 地址 从服务器上克隆一个仓库
4、创建分支
git branch 名称 创建分支
git checkout 名称 切换分支
这两行命令相当于这条命令:git checkout -b 名称 参数-b表示创建并切换分支
git branch 检查分支有哪些,符号*表示当前分支
git merge 名称 表示将指定分支合并到当前分支
git branch -d 名称 删除分支
5、冲突解决
Git用<<<<<<<,=======,>>>>>>>表示出不同分支的内容
git merge feature1(分支名称)发生冲突时,找到冲突文件,并修改,然后重新add,commit
git log --graph --pretty=oneline --abbrev-commit 查看提交记录图
git log --graph 查看提交记录图
6、合并分支保存记录
git merge --no-ff -m "记录信息" dev(分支名称) 将指定分支合并,并添加提交信息
7、创建bug分支
因为可能当前分支还有些工作没有完成,所以不能提交,但是又必须保护当前分支的现场情况
git stash 保存当前分支的现场
git stash list 查看保存现场
git stash apply 恢复保存的现场,但是还必须手动删除stash(藏)的内容
git stash drop 删除stash内容
或者直接使用
git stash pop 恢复现场并手动删除stash内容
8、创建分支,但是突发情况不想合并,删掉该分支
git branch -D name 强制删除分支,
9、远程库操作
git remote -v 查看远程库信息
git remote 查看远程信息
git push origin 分支名称 从本地推送到分支,如果推送失败,先抓取git pull 远程新提交
git pull 远程抓取分支,如果有冲突,先解决冲突
git checkout -b branch-name origin/branch-name 本地创建和远程分支对应的分支
10、打tag (目的:是一个稳定的版本打个tag方便记录)
git tag 查看打的所有tag
git tag name 一个新的tag名称(默认最新的提交上打上标签)
git tag name commit_id 在指定的提交id上打上tag
git show name 查看标签信息
git tag -a name -m "tag文字说明" commit_id 在指定的提交id打上tag,同时加入tag说明
2018/07/09
git tag -d name 删除标签(本地标签)
git push origin name(标签名)推送标签名到远程仓库
要删除远程标签操作:
1)、先删除本地标签 git tag -d tag-name
2)、删除远程标签 git push origin :refs/tags/tag-name
git clone <repo> <directory> 克隆仓库到指定的目录,repo仓库名称,directory目录
mkdir directory 创建目录
ls -a 列举文件夹下所有的文件,包括隐藏不显示的./这种文件 ls是list列举的意思,a是all
ls -l 列举文件跟文件夹的详细信息
ls -lh 列举文件跟文件夹的详细信息
案列:文件修改添加到暂存区内,现在想丢弃工作区的修改
1)、使用git reset HEAD 将暂存区的修改回退到工作区
2)、使用git checkou -- *.txt 将后缀名是.txt的文件丢弃工作区的修改
touch hello.php 创建文件
git add . 添加所有文件
git diff 查看尚未缓存的改动
git diff --cached 查看已缓存的改动
git diff HEAD 查看已缓存的与未缓存的改动
git diff --stat 显示摘要
eg : hello.php | 1 +
1 file changed, 1 insertion(+)
git commit -a 跳过add这一步骤,直接使用来到commit步骤
删除文件
git rm file-name 删除文件,先删除当前分支的,在删除本地的
git rm -f file-name 文件添加到暂存区中,使用git rm file-name会出现错误,加入-f参数是强制删除,本地文件也会强制删除
git rm --cached file-name 删除暂存区或者当前分支的文件,本地文件不会删除
重命名文件
git mv README README.md 将文件readme 命名为readme.md 注意这个要先添加到暂存区才行
查看提交记录
git log 查看提交记录
commit 48a3c5ff3275012ae8f4c6d49093949c00226da3 (HEAD -> master, origin/master, origin/HEAD)
Author: hujiaxi <3062844197@qq.com>
Date: Mon Jul 9 16:35:51 2018 +0800
delete test.c
git log --pretty=oneline 查看提交记录,显示一行,并且commit_id是显示完整的
eg: 55ee5a9d5ce5da5bcd49fbf8cbe8ff4e960fe00e change the test.c
git log --oneline 查看提交记录,显示一行,同时commit_id也是简单的
eg: 59aa91e add test.c
不想使用git指令的朋友,可以使用sourcetree工具,简单操作