github windows安装,官网[git下载](https://git-scm.com/download/win)直接下载安装
sudo apt-get install git linux下安装
$ git config --global user.name "yourname"
$ git config --global user.email "email address"
$ mkdir filepackage 创建文件夹
$ cd filepackage 切换到创建的文件夹
$ git init 将创建的文件夹初始化为可以被git管理的文件夹
$ git add 文件名 将创建的文件添加到暂存,可多次添加
$ git add * 添加全部文件
$ git commit -m "提交说明" 提交到版本库(仓库)
$ git status 查看仓库(修改后)当前状态
文件内容作出修改后
$ git diff 文件名 查看文件具体的修改内容
$ git add 文件名
$ git commit -m "提交说明"
$ git status #如果没有暂存,将提示没有将要提交的修改,工作目录是干净的
版本回退
$ git log 查看所有版本信息
$ git log --pretty=oneline 缩小信息显示
$ git reset --hard HEAD^ '^'表示上一个版本,'~14'表示往上14个版本
$ cat 文件名 查看文件详细信息
$ git reset --hard 1094a 1094a(没写全)版本对应的唯一哈希值,这个操作可以回返任意版本(包括未来的)
$ git reflog 查看过去所有执行过的命令
$ git diff HEAD -- readme.txt 用于查看工作区和版本库里最新版本的区别
$ git add 文件名 只有将文件保存到暂存(可多次保存再提交),提交时才能更新到版本库
$ git checkout -- readme.txt 意思就是,把readme.txt文件在工作区的修改全部撤销,这里有两种情况:
一种是readme.txt自修改后还没有被放到暂存区,现在,撤销修改就回到和版本库一模一样的状态;
一种是readme.txt已经添加到暂存区后,又作了修改,现在,撤销修改就回到添加到暂存区后的状态
$ git reset HEAD <file> 以把暂存区的修改撤销掉(unstage),重新放回工作区
$ rm test.txt 一般删除,git仓库未确认
$ git rm 文件名 从仓库中删除文件
关于远程仓库github
先创建一个新的空仓库
$ git remote add origin https://github.com/unlimitedlearning/git_warehouse.git 将本地仓库绑定到远程库origin(git默认,可以改)
$ git push -u origin master 将本地库的当前分支推送到远程库,第一次推送加 -u 命令,可以把本地分支与远程分支绑定起来,
后面的推送可以省略此命令 如下:
$ git push origin master 在本地仓库提交后,可以用此命令将本地分支推送到远程库
$ cd ~/.ssh 切换到ssh目录 默认
$ ssh-keygen -t rsa -C "your email" 创建自己的ssh
$ ssh -T git@github.com 测试配置ssh后的连接
注意:配置ssh只能在当前工作仓库进行配置,如果当前本地仓库推送过远程,那么ssh默认添加,不需要重新添加
创建和合并分支
$ git checkout -b dev 创建分支dev并将head指针移到dev
$ git branch dev
$ git checkout dev 这两条命令相当于第一条命令
$ git merge dev 合并分支dev到当前分支
$ git branch -d dev 删除分支dev
解决冲突
$ git checkout -b feature1 #创建并将head移到feature1
在当前分支下修改文件已有文件readme.txt
$ git add readme.txt
$ git commit -m "simple" 提交到本地仓库
$ git checkout master 切换到master分支
在master分支下再次修改文件readme.txt
$ git add readme.txt
$ git commit -m "simple" 提交到本地仓库
$ git merge feature1 合并feature1分支,会产生冲突
$ cat README.md 会这样显示
# hello-world
testting
Creating a new branch is quick.
<<<<<<< HEAD 当前工作分支指向head
Creating a new branch is quick & simple.
=======
Creating a new branch is quick AND simple.
>>>>>>> feature1 另一个分支
no-ff 合并冲突分支(非快速合并no Fast forward)
$ git merge --no-ff -m "merge with no-ff" dev
$ git log --graph --pretty=oneline --abbrev-commit 查看分支no-ff 合并后的详细情况
分支策略:
首先,master分支应该是非常稳定的,也就是仅用来发布新版本,平时不能在上面干活;
那在哪干活呢?干活都在dev分支上,也就是说,dev分支是不稳定的,到某个时候,比如1.0版本发布时
再把dev分支合并到master上,在master分支发布1.0版本;你和你的小伙伴们每个人都在dev分支上干活,
每个人都有自己的分支,时不时地往dev分支上合并就可以了
git常用命令总结
最新推荐文章于 2024-08-10 09:47:10 发布