git 常用命令

git操作 
mkdir xxx
touch xxx
cd
cd ~
ls
cd ..
一  基本操作

$ git config --global user.name
$ git config --global user.email
git init 把这个目录变成git可以管理的仓库
git add readme.txt 添加到暂存区里面去
git commit -m “” 把文件提交到仓库
git status 查看是否还有文件未提交
git diff readme.txt 看下readme.txt文件到底改了什么内容

二 版本退回
git log 查看下历史记录
git log –pretty=oneline 查看下历史记录简明
git reset --hard HEAD^/ HEAD^^ 回退到上/上个版本
git reset --hard HEAD~100
cat readme.txt 查看
git reset --hard 版本号 我们可以通过版本号回退
git reflog 取到版本号
工作区有一个隐藏目录.git,这个不属于工作区,这是版本库,其中最重要的就是stage(暂存区),
还有Git为我们自动创建了第一个分支master,以及指向master的一个指针HEAD。

三 Git撤销修改和删除文件操作
在我未提交之前,我发现添加内容有误,所以我得马上恢复以前的版本,现在我可以有如下几种方法可以做修改
git checkout -- readme.txt 只要没有commit之前 恢复
rm b.txt 可以直接在文件目录中把文件删了

四 github
cd ~/.ssh 看看本机是否存在SSH keys
ssh-keygen -t rsa -C "your_email@example.com" 直接回车
d_rsa是私钥,不能泄露出去,id_rsa.pub是公钥
登录github,打开” settings”中的SSH Keys页面,然后点击“Add SSH Key”,填上任意title,在Key文本框里黏贴id_rsa.pub文件的内容。
“create a new repo”创建一个新的仓库。
复制HTTP下 git remote add origin https://github.com/tugenhua0707/testgit.git 在git下执行
git push -u origin master ( 把本地库的内容推送到远程,使用 git push命令,实际上是把当前分支master推送到远程。") 在git下执行
之后推送master分支就可以不加 -u git push origin master

从github,下克隆到本地
git clone https:xxxxxxxxxxx

五 创建与合并分支。
git checkout –b dev 表示创建并切换,相当于如下2条命令
git branch dev 创建
git checkout dev 切换
git branch 查看分支
git merge dev 把dev分支上的内容合并到分支master上 (快进模式 一般不这样写)
git merge --no-ff -m “注释” dev
git branch –d dev 合并完成后,我们可以接着删除dev分支了
如何解决冲突?
cat readme.txt 查看后 <<HEAD是指主分支修改的内容,>>>>>fenzhi1 是指fenzhi1上修改的内容,手动修改

六 bug分支
Git还提供了一个stash功能,可以把当前工作现场 ”隐藏起来”,等以后恢复现场后继续工作
git stash
现在我可以通过创建issue-404分支来修复bug了
修复完成后,切换到master分支上,并完成合并,最后删除issue-404分支
现在,我们回到dev分支上干活了。
git stash list 来查看下
git stash apply恢复,恢复后,stash内容并不删除,你需要使用命令git stash drop来逐个的删除。
另一种方式是使用git stash pop,恢复的同时把stash内容也删除了。

七 多人协作
当你从远程库克隆时候,实际上Git自动把本地的master分支和远程的master分支对应起来了,
并且远程库的默认名称是origin。
git remote –v 要查看远程库的详细信息

推送分支 : push 推送分支就是把该分支上所有本地提交到远程库中,
推送时,要指定本地分支,这样,Git就会把该分支推送到远程库对应的远程分支上:
git push origin master

抓取分支: 小伙伴要在dev分支上做开发,就必须把远程的origin的dev分支到本地来,
于是可以使用命令创建本地dev分支:
git checkout –b dev origin/dev
有冲突?
先用git pull把最新的提交从origin/dev抓下来,然后在本地合并,解决冲突,再推送
$ git pull origin master
git pull也失败了,原因是没有指定本地dev分支与远程origin/dev分支的链接,
根据提示,设置dev和origin/dev的链接
git branch --set-upstream dev origin/dev
这回git pull成功,但是合并有冲突,需要手动解决,解决的方法和分支管理中的 解决冲突完全一样
解决后,提交,再push:
现在手动已经解决完了,我接在需要再提交,再push到远程库里面去。git push origin dev

------------------------------------------------------------------------------------------------------------
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分支推送到远程库对应的远程分支上

 详细 学习资料地址 : https://www.cnblogs.com/tugenhua0707/p/4050072.html

                                                                                        

原文地址:https://www.cnblogs.com/yangwenbo/p/10762951.html