打开git命令窗口
git --v查看版本
设置用户名和邮箱
git config --global user.name "username"
git config --global user.email "email_number"
查看配置信息
git config --global list
很多文件操作命令和Linux一样
指定名称就会多一个
git status 查看文件夹状态
git add file1.txt
git commit -m "这是第一次提交"
(只提交暂存区中的内容,也就是被git add的才会被commit)
git add . 将当前目录所有文件放到暂存区如果git commit 没有加文字,就会进入vim模式在顶行输入提交信息,也就是每次commit必须有提交信息
这个提交信息不建议乱写,这样对于之后查看文件很不方便,版本管理起来也很难受
vim的用法和Linux中一致,i--插入模式,ESC--回到普通模式,:--底行模式,wq保存
git -log 查看仓库提交历史记录 --oneline简版
git reset --soft /--hard /--mixed 版本号
git 中的所操作都是可以回溯的,
git reflog ,再使用上面的git reset对应的版本号即可
直接使用rm -rf 删除文件,只是在本地删除,暂存区中没有被删除
git ls-files 查看暂存区文件内容
rm删除之后还要用git add .
或者是直接使用
git rm
这些操作之后都要进行git commit
.gitignore忽略文件,一般是一些log和其他在该文件中包含的文件
git push 和git pull是git分布式仓库的同步操作
创建git仓库
bash
mkdir git-repo
cd git-repo
git init
touch README.md
git add README.md
git commit -m "first commit"
git remote add origin https://gitee.com/have-a-book/git-repo.git
git push -u origin "master"
冲突会显示成这样,要解决冲突
bash
<<<<<<< HEAD
<your-modified-code>
=======
<original-code>
>>>>>>> <commit-id>
修改冲突部分,选择要保留的内容。你可以保留原始代码,删除你的修改;或者保留你的修改,删除原始代码。也可以将两者结合起来,创建一个新的解决方案。
在Git中,merge和rebase是两种不同的合并代码的方式。
- Merge: 当你需要将一条分支的修改合并到另一条分支时,可以使用merge命令。例如,如果你有一个名为"feature"的分支,并且这个分支已经开发完成,你想要将这个分支的修改合并到"main"分支,那么你可以在"main"分支上执行"git merge feature"。在合并过程中,如果遇到代码冲突,需要手动解决冲突后,再执行"git commit"提交。 Merge操作会保留所有的commit历史,并且在merge后,会在当前分支上生成一个新的commit。
- Rebase: 当你需要将一条分支的修改重写到另一条分支上时,可以使用rebase命令。例如,如果你有一个名为"feature"的分支,并且你想要将这个分支的修改重写到"main"分支上,那么你可以在"feature"分支上执行"git rebase main"。在rebase过程中,Git会尝试将你的修改应用到"main"分支的最新提交上。 Rebase操作会重写历史记录,将所有的commit按照时间顺序线性地排列。与merge不同,rebase不会保留merge的历史记录,也不会生成新的commit。
总之,merge和rebase都可以实现代码的合并,但是它们的工作方式和使用场景有所不同。merge保留了所有分支的历史记录和合并记录,而rebase则将这些记录线性化。因此,在选择使用merge还是rebase时,需要根据具体的项目需求和代码管理策略来决定。