一、git config
1.配置用户信息
git config --global user.name "用户名"
git config --global user.email "邮箱"
2.行尾、颜色
二、git init
1.切换到项目地址git init
2.git init projectName
新建一个项目并将其初始化成了一个git仓库
三、git commit
1.当项目中的文件被修改之后
git status查看该项目中的文件状态
这表明README.md这个文件存放在工作区
2.用git add命令将该文件上传至暂存区
3.用git commit命令将该文件上传至本地git仓库中
四、git diff
git diff命令可以帮助程序员对没存档的文件做了哪些改动。
1.暂存区域文件和最近提交的历史文件的区别
git diff --staged
2.工作区文件和最近提交的历史文件的区别(跳过工作去)
git diff HEAD
3.diff优化
git diff --color-words、git diff --word-diff
git diff --stat:只输出更改过的文件
五、git log
1.git log --oneline:输出简易版本号和修改信息
2.git log --stat:输出详细信息和每次修改的文件列表
3.git log --patch
4.git log --patch --oneline
5.git log --graph --all --decorate --oneline
六、git remove
1.git rm filename
2.rm filename
git add filename
3.git rm --cached filename
不想将该文件提交到仓库中,但是想保留在本地不被git管理
七、git move
1.git mv oldpath newpath
八、git ignore
1.git ignore可以避免暂存或者提交文件。
2..gitignore文件
3.git ls-files --others --ignored --exclude-standard查看所有忽略的文件
九、git branch
1.当开始一个新项目或者打开一个已经存在的项目的时候,我们一开始就要新建一个分支,这是非常重要的。很多人认为,master分支是许多工作代码所在的地方,但是我们在提交的时候要十分小心,因为它就是对产品特性的一种呈现。通过在这个分支上自由工作,允许我们安全地工作并远离master分支。
2.添加分支
git branch branchName
3.删除分支
git branch -d branchName(该分支已经合并)
git branch -D branchName(该分支还未合并)
注意:不能删除正在使用的分支(即当前正处于的分支)
4.切换分支
git checkout branchName
十、git checkout
1.git checkout的第一个作用就是切换分支。
检查当前正处于哪个分支上
git branch [-a]/git status
2.git checkout的第二个功能就是把项目下的工作树、目录和文件等东西,做一个更加详细的commit。
git checkout 版本号(版本号可以用git log命令查看)
3.git checkout的第三个功能就是撤销或者丢弃编辑的内容。
git checkout -- filename
这个命令会清理掉最后一次commit的内容。
4.git checkout的最后一个小技巧是缩短一些其他的步骤
(1)如果你想新建一个分支然后切换到它
git checkout -b 新分支的名字
十一、git merge
1.分支是每一个Git工作流的关键部分,把这些改变汇聚起来也是十分重要的,这个工作可以通过merge来完成,它可以把两个或更多分支的历史汇聚起来,然后在工作树中展示所有这些分支中全部commit的累积结果。
2.切换到需要合并的主分支(例如master),然后确认该分支有我们想要合并的commit
git merge branchName(想要合并的分支名字)
3.解决冲突:合并过程中,你可能会遇到一些冲突情况,这意味着,两个文件的变化非常的相似,git自己不知道如何去解决这些冲突或者把它们合并在一个文件里。为了解决冲突,从冲突信息中很容易确认冲突文件,或者通过运行git status然后可以看到哪些文件没有在commit中显现出来。将冲突文件打开,看到重复的<符号和HEAD标记,HEAD标记展示了文件内容是什么样子的,站在你当前所在分支的角度上(master),一行=标记是master分支的文件内容的分割,其下即你想要合并的分支的内容,这个分支造成了冲突,在代码段或者文本内容之后,有一些>号,接着是你的分支的名字,这个表明了冲突结束的位置,文件的这两部分内容,你需要手动去解决冲突。接下来需要做的事情是,编辑你的文件,移除你看到的这些冲突标签,确定你想要保留的或者应该继续下去的内容,保存文件即可。
4.在git merge的过程中,可能有这样一种情况,你遇到了冲突,但是,你不想马上解决它,或者你目前只想抛弃它
git merge --abort
这个命令将会清除你的工作目录,从你当前分支的最后一次提交中,它同样会清除你的暂存区。
5.如果你不想把历史汇聚起来,但是你想要一个具体分支中的全部commit
git merge --squash 目标分支名字
6.一旦你成功合并了一个分支,没有必要保存分支标签或者名字,可以在合并之后清除分支名字
git branch -d 分支名字
十二、创建和移除远端
1.配置信息
git remote add origin URL(远程github地址)
git remote set-url origin URL
git remote rm origin
2.fetch命令本身是去github.com抓取任何信息下载下来,把它放在 远程追踪分支里。
3.pull命令拉取远程代码
4.push命令: 当我们在电脑上有已经完成的工作时,并且我们准备把它发送到github.com
git push origin
十三、git reset
1.git reset是一个允许你塑造仓库历史的命令,无论你是想撤销一些修改,还是把你的commit弄的不一样
2.三种模式
(1) mixed(默认):他修改了历史和工作目录,所以叫做混合模式,修改了多个东西
(2)soft:选取一条或者多条commit,把它们的全部改变放回到暂存区,让你在此基础上继续创建新的提交
(2)hard:是一个具有破坏性的操作,这意味着擦除掉你不再想保存的东西