Windows下Git简单命令使用

▼魔方 西西 提交于 2020-01-14 17:30:17

Git介绍

Git是一个分布式版本控制系统,它没有中央服务器的定义,每个人的电脑都是一个完整的版本库。因此工作的时候可以不用联网,因为版本都是在自己的电脑上。而对于多人如何协作,比如说自己在电脑上改了文件A,其他人也在电脑上改了文件A,这时,你们两之间只需把各自的修改推送给对方,就可以互相看到对方的修改了。下图引用自https://blog.csdn.net/FireElement/article/details/9618363
引用

Git windows下载安装

下载地址:(https://git-scm.com/download/win)根据提示点击下一步直到安装完成即可。安装成功后,会有Git Bash here 和 Git GUI Here 两个选项,Gui会有图形界面来进行git的操作, Bash则是通过命令行操作

Git本地库与远程仓库绑定

1、首先需要有一个github的账号,然后通过git bash生成一对公私钥并绑定

ssh-keygen  -t rsa –C "git账号"    //一般会使用邮箱

在这里插入图片描述
2、登陆github,将公钥复制到如下目录中
在这里插入图片描述3、在git上创建一个仓库,默认会创建master分支,以及仓库origin名

在这里插入图片描述4、git参数配置-所有仓库都是使用全局配置的值,也可以指定某些仓库使用其他的配置

git config --global user.name "Cqcjam"
git config --global user.email "595994881@qq.com"
git config --global user.password "****"

Git从服务端下载到本地

1、克隆远程仓库全部工程到本地库

git init //将当前目录变成git可以管理的仓库,同时在该目录下会生成.git文件
git clone https://github.com/Cqcjam/cqc_study

在这里插入图片描述
2、通过pull下载

Git从本地提交到服务端

在本地库中新建一个文件内容并添加到暂存区提交,推送到远程仓库,在这个过程中需要输入用户名和密码等信息

vim readme.txt //输入内容并保存
git add readme.txt //文件添加到暂存区
git commit -m "提交备注信息" //把暂存区的所有内容提交到当前分支
git remote add origin https://github.com/Cqcjam/cqc_study.git 
git push origin master //后续如果在当前目录对文件有更改了可以通过该命令直接提交到master分支中

Git撤销操作

如果当前对readme.txt文件进行了修改,也没有添加到暂存区,那么通过git checkout会撤销当前操作,保持和版本库一样的状态,如果已经添加到了暂存区那么只能回到暂存区后的状态,可以通过指定回退来操作

git checkout -- readme.txt //--是必须的 因为和切换分支很相似

Git创建分支提交

1、创建分支并切换到指定分支中

git checkout -b test //创建分支并切换到test分支中
==等价于
git branch test //创建分支
git checkout test //切换分支

2、查看所有分支

git branch

3、分支合并

cat test.txt //在分支下新建文件
git add test.txt //添加
git commit -m "提交分支test中的test.txt文件" //提交分支仓库
git checkout master //回到主分支上
git merge test //合并test分支的内容
git merge --no-ff -m "分支合并" test //合并分支并处理冲突
git branch -d test //删除分支test 

Git删除文件

如果需要对git仓库中的文件进行删除,可以通过 rm 来删除指定的文件

git add b.txt
rm b.txt
git commit -m "删除b.txt"

Git提交内容冲突处理

如果当前提交的文件有冲突了,需要在本地处理好了之后再提交仓库,先比对文件,再修改冲突的地方重新提交

git diff "冲突的文件" //比对当前冲突文件
git add "冲突的文件" //重新添加到暂存区
git commit -m "重新提交有冲突文件" //提交
git push origin master //提交远程仓库master分支

Git查看提交记录及版本

如果当前目录下要查看最近的提交记录,以及对应的提交版本

git log //查看最近的提交记录	
git reflog //获取版本号
git status //查看当前目录下的文件状态

Git回退

如果在提交git之后发现版本需要回退的话,可以通过git reset命令来回退到指定版本或者上一版本

git reset --hard HEAD^  //回退到上一个版本
git reset --hard HEAD^^ //回退到上上一个版本
git reset --hard HEAD~100 //回退到上100的版本
git reset --hard versionNum //回退到指定版本号

Git多人协作

1、查看远程仓库信息及详细信息

git remote  //查看远程仓库信息
git remote -v //查看远程仓库详细信息

在这里插入图片描述
2、推送到指定分支

git push origin master

3、获取指定分支到本地的对应分支

--本地新建一个dev目录
mkdir cqc_study_dev //用于存放后续dev分支的内容
cd cqc_study_dev 
git clone https://github.com/Cqcjam/cqc_study.git //先下载主干master上的内容到分支中
git push origin dev //接着将内容推送到dev分支中
git checkout -b dev origin/dev  //创建dev分支并到dev分支下
--如果在当前分支下修改了同一个test.txt文件,那么在提交的时候会出现冲突
git add test.txt //修改了test.txt再添加
git commit -m "提交test.txt" //提交
git push origin dev  //推送--这个时候会出现异常推送不成功
--解决方法就是新pull下最新的test.txt文件再修改冲突之后再次提交即可
git branch --set-upstream dev origin/dev //指定本地dev分支与远程origin/dev分支的链接
git pull //再次pull,更新成功,但会有冲突再手动处理好了之后再次提交
总结:
	1. 首先,可以试图用git push origin branch-name推送自己的修改.
	2. 如果推送失败,则因为远程分支比你的本地更新早,需要先用git pull试图合并。
	3. 如果合并有冲突,则需要解决冲突,并在本地提交。再用git push origin branch-name推送。

Git常用的基本命令

mkdir: XX (创建一个空目录 XX指目录名)
pwd: 显示当前目录的路径。
git init 把当前的目录变成可以管理的git仓库,生成隐藏.git文件。
git add XX 把xx文件添加到暂存区去。
git commit –m “XX” 提交文件 –m 后面的是注释。
git status 查看仓库状态
git diff XX 查看XX文件修改了那些内容
git log 查看历史记录
git reset –hard HEAD^ 或者 git reset –hard HEAD~ 回退到上一个版本
(如果想回退到100个版本,使用git reset –hard HEAD~100 )
cat XX 查看XX文件内容
git reflog 查看历史记录的版本号id
git checkout — XX 把XX文件在工作区的修改全部撤销。
git rm XX 删除XX文件
git remote add origin https://github.com/tugenhua0707/testgit 关联一个远程库
git push –u(第一次要用-u 以后不需要) origin master 把当前master分支推送到远程库
git clone https://github.com/tugenhua0707/testgit 从远程库中克隆
git checkout –b dev 创建dev分支 并切换到dev分支上
git branch 查看当前所有的分支
git checkout master 切换回master分支
git merge dev 在当前的分支上合并dev分支
git branch –d dev 删除dev分支
git branch name 创建分支
git stash 把当前的工作隐藏起来 等以后恢复现场后继续工作
git stash list 查看所有被隐藏的文件列表
git stash apply 恢复被隐藏的文件,但是内容不删除
git stash drop 删除文件
git stash pop 恢复文件的同时 也删除文件
git remote 查看远程库的信息
git remote –v 查看远程库的详细信息
git push origin master Git会把master分支推送到远程库对应的远程分支上

引用参考

[1]https://blog.csdn.net/FireElement/article/details/9618363
[2]http://blog.jobbole.com/78960/

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!