安装完成后,打开Git Bash。
配置用户信息,因为git为分布式,需要知道你是谁。
git config --global user.name "nnnn"
gir config --global user.email "1111@163.com"
git config --list 查看配置情况
- 初始化版本库
git init
- 添加文件到版本库
git add
gti commit
- 查看仓库状态
git status
- 其它命令
- pwd 显示所在的当前目录
- ll 展示目录下的文件
- cd .. 返回上级目录,注意cd后有一个空格
- mkdir 创建文件
- ls -a 显示包括隐藏文件在内的所有文件
- cd fileName 进入fileName文件
创建仓库
- 步骤
- 进入仓库所在目录
- git init 初始化仓库
- echo "hahahah" >> test.txt 将“hahahah"追加到test.txt中,test.txt不存在将会自动创建。
- cat test.txt 展示test.txt内容
- git add test.txt 将test.txt添加到git暂存区
- git commit -m "first commit " 提交文件,-m后是提交描述信息
- git status 查看git状态 ,提交后 应是working tree clean
如图
Git工作流
gitstatus 可以 用来看当前仓库有哪些文件是存在暂存区,哪些是提交了的。
变更bash_demo.txt中的内容后,git status后的变化,这时候需要提交到暂存区 ,否则会没有记录。
应使用git add bash_demo.txt 如果代码未经测试,不应commit,可以先放到暂存区。
此时,在暂存区处文件所做的修改并不需要了,则要将暂存区的版本回滚。并删除暂存区(工作区?)的版本。
git reset HEAD bash_demo.txt 回滚 (此时文件夹中已更改的内容并未消失)
git checkout -- bash_demo.txt 清干净工作区文件 (此时文件夹中修改的内容消失)
提交后,将工作区以及暂存区的版本回滚
git log 查看提交记录,以及commit 号码,
git --hard (所要回滚到所在版本的commit 号) 回滚,hard指得是,工作区以及暂存区 同时回滚。
清空仓库
git rm bash_demo.txt 删除本地文件,此时git status 会发现仓库,暂存区中并未被删除 。此时如果使用 git --hard或
git reset HEAD bash_demo.txt git checkout -- bash_demo.txt ,本地文件会重新出现
git commit -m"delete bash demo" 这时才清空仓库
远程仓库
创建SSH key
ssh-keygen -t rsa -C "youremail@exmaple.com" 邮箱为你github的邮箱
在生成的目录下
- cd .ssh/ 进入隐藏文件
- ll 查看文件目录下的文件,找到以pub结尾的文件,(公钥),使用cat命令查看
- cat name.pub 将其中的内容,复制
在github的账户中找到setting>>ssh and GPG keys>> newSSHkey ,将复制的内容,黏贴到key栏 ,tittle自己取,点击add。
查看是否连通: ssh -T git@github.com
添加远程仓库
git remote add origin git@github.com:tylerdemo/demo4.git
git pull origin master --allow-unrelated-histories
git push -u origin master
点击右上角加号,选择new repository>>仓库名>>创建仓库。
1.从本地新建仓库,并提交:在自己的工作目录下,新建仓库与文件,并commit(前面所写)
使用如下命令与github关联,提交 :
git remote add origin git@github.com:tylerdemo/demo4.git 绿色为自己的用户名和仓库名
git push -u origin master
之后刷新仓库,就可以看到,提交上的文件。 在这之后在本地commit后,使用 git push即可向github上的远程仓库提交文件。
检查远程仓库配置
- git remote -v
如果远程仓库信息有误,则删除本地仓库配置,并且设置相关地址
- git remote rm origin git remote add origin XXX
- git remote add origin XXXX
克隆仓库
将远程仓库的代码copy一份到本地。
git clone git@github.com:username/reponame.git
要在本地没有仓库的地方,去clone远程的仓库。
标签管理
可根据标签进行回滚
- git tag 查看所有标签
- git tag name c创建标签
- git tag -a name -m "comment" 指定提交信息
- git tag -d name 删除标签
- git push origin name 标签发布
分支管理
创建自己的分支,完成自己的任务后,在与其它分支合并,以防自己未写完的代码,影响别人或被别人影响。
- git branch bransh_1 创建分支
- git branch 查看分支,星号为当前所在分支
- git checkout branch_1 进入分支
合并分支
- git master 进入master分支
- git merge branch_1 合并分支
- git branch -d branch_1 删除分支