1.账户设置
免密设置
1)配置用户名和邮箱
git config --global user.name "Your Name"
git config --global user.email "your_email@example.com"
注意将 "Your Name" 改为你的姓名,"your_email@example.com" 改为你的邮箱地址。
(2)创建远程仓库
首先,在 Git 服务器上创建一个远程仓库。
(3)本地仓库关联远程仓库
在本地仓库所在目录下,执行以下命令:
git init
git remote add origin git@github.com:yourname/yourrepository.git (origin是自己起的仓库名)
其中,yourname 是你的 GitHub 用户名,yourrepository 是你的远程仓库名。
(4)设置 SSH key
在 Git Bash 中执行以下命令:
ssh-keygen -t rsa -C "your_email@example.com"
按照提示一步步进行,将生成的 SSH key 添加到 Git 账号中。
2.理解git命令
Workspace:你电脑本地看到的文件和目录,在Git的版本控制下,构成了工作区。
Index/Stage:暂存区,一般存放在 .git目录下,即.git/index,它又叫待提交更新区,用于临时存放你未提交的改动。比如,你执行git add,这些改动就添加到这个区域啦。
Repository:本地仓库,你执行git clone 地址,就是把远程仓库克隆到本地仓库。它是一个存放在本地的版本库,其中HEAD指向最新放入仓库的版本。当你执行git commit,文件改动就到本地仓库来了~
Remote:远程仓库,就是类似github,码云等网站所提供的仓库,可以理解为远程数据交换的仓库~
git 的正向工作流程一般就这样:
从远程仓库拉取文件代码回来; git clone -> git checkout(第一次) 或者 git pull(非第一次) 默认会合并本地的代码 (git fetch + (git checkout)+git merge)
git fetch是一个具体的分支
在工作目录,增删改查文件;
把改动的文件放入暂存区; git add .
将暂存区的文件提交本地仓库; git commit
将本地仓库的文件推送到远程仓库; git push (git push -u origin master:master)
3.具体使用场景
1.无文件需要git push
git clone git@git.k8s.local:demo/gittest.git
cd gittest
touch README.md
git add README.md
git commit -m "add README"
git push -u origin master
2.有文件夹,无仓库需要git push(!会将当前分支和目标分支合并!!!!)
cd existing_folder
git init
git checkout -b demo
git remote add origin git@git.k8s.local:demo/gittest.git
git pull origin master:demo (将 本地demo和master合并)
git add .
git commit -m "Initial commit"
git push -u origin demo:master
3.已有git仓库
git pull
git add .
git commit -m ''
git push
4.其他命令
查看分支 git branch -a
查看版本 git logs
切换 git checkout
指定分支推送 git push -u origin master:master (origin是自己起的仓库名)
5.拉取指定分支
git branch -r 查看远程分支
git checkout -b temp orgin/xxx 新建本地分支,并建立映射关系
git branch --a
6.其他使用(拿来写论文呗)
1.比如说更改了123.txt为456 且删除了version.txt
2.git add . git commit -m '123.txt为456 且删除了version.txt
'
3.我要撤销删除这个操作
git log
git checkout hashxxxx(查git log 得到删除前的最近提交hash值)