Git使用场景:备份;代码还原;协同开发。
- 环境配置:
- 设置用户名和邮箱:
git config --global user.name"XXXXX" git config --global user.email "XXX@XXX.com"
- 设置别名(可做可不做)
创建 .bashrc文件。打开输入以下内容:
#用于输出git提交日志
alias git-log='git log --pretty=oneline --all --graph --abbrev-commit'
#用于输出当前目录所有文件及基本信息
alias ll='ls -al'
打开gitBash,执行source ~/.bashrc(注意这里的路径是你.bashrc文件的路径,~表示用户目录。)
- 解决gitBash中文乱码问题
打开GitBash执行下面命令:
git config --global core.quotepath false
${git_home}/etc/bash.bashrc 文件最后加入下面两行(${git_home}表示git安装目录):
export LANG="zh_CN.UTF-8"
export LC_ALL="zh_CN.UTF-8"
3. 获取本地仓库:git init
1)在电脑的任意位置创建一个空目录(例如test)作为我们的本地Git仓库
2)进入这个目录中,点击右键打开Git bash窗口
3)执行命令git init
4)如果创建成功后可在文件夹下看到隐藏的.git目录。
4.基础操作指令。
- 将文件添加到暂存区:git add 文件名(git add . :将所有修改添加到暂存区)
- 提交暂存区到本地仓库:git commit -m "修改备注"(git提交修改文件会先提交到暂存区,再提交到仓库)
- 查看修改状态:git status
- 查看提交日志:git log
- 版本切换:git reset --hard commitID(commitID可以通过git log查看)
- 查看删除记录:git reflog
- 添加文件到忽略列表:一般我们总会有些文件无需纳入Git 的管理,也不希望它们总出现在未跟踪文件列表。 通常都是些自动生成的文件,比如日志文件,或者编译过程中创建的临时文件等。 在这种情况下,我们可以在工作目录中创建一个名为 .gitignore 的文件(文件名称固定),列出要忽略的文件模式。下面是一个示例:
# no .a files
*.a
# but do track lib.a, even though you're ignoring .a files above
!lib.a
# only ignore the TODO file in the current directory, not subdir/TODO
/TODO
# ignore all files in the build/ directory
build/
# ignore doc/notes.txt, but not doc/server/arch.txt
doc/*.txt
# ignore all .pdf files in the doc/ directory
doc/**/*.pdf
- 查看分支:git branch
- 创建本地分支:git branch 分支名
- 切换分支:git checkout 分支名
- 切换并创建分支(当分支不存在就创建分支):git checkout -b 分支名
- 合并分支:git merge 分支名
- 删除分支:git branch -d 分支名 git branch -D 分支名(直接删除,不做检查)
远程仓库
1.注册码云。
- 创建仓库。
- 配置ssh公钥。ssh-keygen -t rsa (不断回车,若公钥存在输入Y,自动覆盖)
- 获取公钥。cat ~/.ssh/id_rsa.pub(把获取到的公钥粘贴至码云上)
2.添加远程仓库:git remote add <远端名称><仓库路径>
3.查看远程仓库:git remote
4.推送远程仓库:git push [-f][--set-upstream][远端分支名][本地分支名]
- -f:强制覆盖
- --set upstream:推送到远端同时建立分支关联关系。(git push --set-upstream origin master)
5.克隆远程仓库:git clone <仓库路径> [本地目录]
6.抓取(将仓库中的更新抓取到本地,不会进行合并):git fetch [远端路径] [本地路径]
7.拉取(会直接合并,相当于fetch + merge):git pull [远端路径] [本地路径]