git速查整理


=====================================================================================
一、 Git 常用命令速查

git branch 查看本地所有分支
git status 查看当前状态
git commit 提交
git branch -a 查看所有的分支
git branch -r 查看远程所有分支
git commit -am "init" 提交并且加注释
git remote add origin [email protected]:ndshow
git push origin master 将文件给推到服务器上
git remote show origin 显示远程库origin里的资源
git push origin master:develop
git push origin master:hb-dev 将本地库与服务器上的库进行关联
git checkout --track origin/dev 切换到远程dev分支
git branch -D master develop 删除本地库develop
git checkout -b dev 建立一个新的本地分支dev
git merge origin/dev 将分支dev与当前分支进行合并
git checkout dev 切换到本地dev分支
git remote show 查看远程库
git add .
git rm 文件名(包括路径) 从git中删除指定文件
git clone git://github.com/schacon/grit.git 从服务器上将代码给拉下来
git config --list 看所有用户
git ls-files 看已经被提交的
git rm [file name] 删除一个文件
git commit -a 提交当前repos的所有的改变
git add [file name] 添加一个文件到git index
git commit -v 当你用-v参数的时候可以看commit的差异
git commit -m "This is the message describing the commit" 添加commit信息
git commit -a -a是代表add,把所有的change加到git index里然后再commit
git commit -a -v 一般提交命令
git log 看你commit的日志
git diff 查看尚未暂存的更新
git rm a.a 移除文件(从暂存区和工作区中删除)
git rm --cached a.a 移除文件(只从暂存区中删除)
git commit -m "remove" 移除文件(从Git中删除)
git rm -f a.a 强行移除修改后文件(从暂存区和工作区中删除)
git diff --cached 或 $ git diff --staged 查看尚未提交的更新
git stash push 将文件给push到一个临时空间中
git stash pop 将文件从临时空间pop下来
---------------------------------------------------------
git remote add origin [email protected]:username/Hello-World.git
git push origin master 将本地项目给提交到服务器中
-----------------------------------------------------------
git pull 本地与服务器端同步
-----------------------------------------------------------------
git push (远程仓库名) (分支名) 将本地分支推送到服务器上去。
git push origin serverfix:awesomebranch
------------------------------------------------------------------
git fetch 相当于是从远程获取最新版本到本地,不会自动merge
git commit -a -m "log_message" (-a是提交所有改动,-m是加入log信息) 本地修改同步至服务器端 :
git branch branch_0.1 master 从主分支master创建branch_0.1分支
git branch -m branch_0.1 branch_1.0 将branch_0.1重命名为branch_1.0
git checkout branch_1.0/master 切换到branch_1.0/master分支
du -hs

git branch 删除远程branch
git push origin :branch_remote_name
git branch -r -d branch_remote_name
========================================================================================

1、git配置远程地址
git remote add origin url ,其中url为远程仓库地址。

2、git删除远程地址
git remote rm origin

3.查看远程仓库地址信息
git remote -v

==================================================================================
$ git reset --hard 设置主分支
git log 查看日志
--------------------------------
#从服务端拉取代码到本地并自动合并到本地分支

1.将新建的文件或者修改过的文件添加到索引库。
$ git add . //别忘记有个点,点前面有个空格

本地分支代码保存到本地仓库
$ git commit -m " 提交的message"

查询当前远程的版本
$ git remote -v

直接拉取并合并最新代码fdsafd
$ git pull origin master [示例1:拉取远端origin/master分支并合并到当前分支]
$ git pull origin dev [示例2:拉取远端origin/dev分支并合并到当前分支]

从本地提交代码到服务器
$ git push origin dev [示例2:将当前分支提交到远端origin/dev分支]

================================================================================
1.分支管理

创建分支
git branch dev

切换分支
git checkout dev

创建分支并切换分支
git checkout -b dev

把本地test01分支推送到远程
git push --set-upstream origin test01

2.删除分支
git branch -d dev

在分支上提交新的版本
git commit -a -m 'dev1'

合并分支(切换到所在分支,合并dev分支到本分支来)
git merge dev

分支的合并后显示log
git log --oneline --graph --decorate
==========================================================================================

#初始化版本库,并提交到远程服务器端

mkdir WebApp
cd WebApp
git init 本地初始化
touch README
git add README 添加文件
git commit -m 'first commit'
于远程仓库建立连接
git remote add origin [email protected]:daixu/WebApp.git

增加一个远程服务器端

上面的命令会增加URL地址为'[email protected]:daixu/WebApp.git',名称为origin的远程服务器库,以后提交代码的时候只需要使用 origin别名即可

================================================================================
#Git add
 git add [参数] <路径> 作用就是将我们需要提交的代码从工作区添加到暂存区,就是告诉git系统,我们要提交哪些文件,之后就可以使用git commit命令进行提交了。
 为了方便下面都用 . 来标识路径, . 表示当前目录,路径可以修改,下列操作的作用范围都在版本库之内。
git add .
不加参数默认为将修改操作的文件和未跟踪新添加的文件添加到git系统的暂存区,注意不包括删除
git add -u .
-u 表示将已跟踪文件中的修改和删除的文件添加到暂存区,不包括新增加的文件,注意这些被删除的文件被加入到暂存区再被提交并推送到服务器的版本库之后这个文件就会从git系统中消失了。
git add -A .
-A 表示将所有的已跟踪的文件的修改与删除和新增的未跟踪的文件都添加到暂存区。

----------------------------------------------------
git创建远程分支
新建一个本地分支:$ git checkout -b dbg_lichen_star
把新建的本地分支push到远程服务器,远程分支与本地分支同名(当然可以随意起名):
$ git push origin dbg_lichen_star:dbg_lichen_star
删除远程分支$ git push origin :dbg_lichen_star
也可以使用:$ git push origin --delete dbg_lichen_star
删除本地分支: git branch -d dev20181018 ;如果删除不了可以强制删除,git branch -D dev20181018

-----------------------------------------------------------
然后我们要把dev分支的代码合并到master分支上 该如何?
首先切换到master分支上
如果是多人开发的话 需要把远程master上的代码pull下来
git pull origin master
然后我们把dev分支的代码合并到master上
git merge dev

然后提交 git commit -m ""
=================================================================================
git配置忽略文件
一、步骤
1. cd 到项目根目录
2. touch .gitignore 生成
3. 把内容粘贴进去
4. 提交上传忽略文件
当我们需要删除暂存区或分支上的文件, 但本地又需要使用, 只是不希望这个文件被版本控制, 可以使用
git rm --cached file_path
git commit -m 'delete remote somefile'
git push

---------------------------
查看系统config:
git config --system --list
查看当前用户(global)配置
git config --global --list
查看当前仓库配置信息
git config --local --list

========================================================================================
命令行指令

Git 全局设置
git config --global user.name "lzs"
git config --global user.email "[email protected]"
-----------------------------------------
创建新版本库
git clone ssh://[email protected]:20022/risk/rce-warning.git
cd rce-warning
touch README.md
git add README.md
git commit -m "add README"
git push -u origin master

已存在的文件夹
cd existing_folder
git init
git remote add origin ssh://[email protected]:20022/risk/rce-warning.git
git add .
git commit -m "Initial commit"
git push -u origin master

已存在的 Git 版本库
cd existing_repo
git remote rename origin old-origin
git remote add origin ssh://[email protected]:20022/risk/rce-warning.git
git push -u origin --all
git push -u origin --tags

=================================================================================================
错误:
fatal: refusing to merge unrelated histories
出现这个问题的最主要原因还是在于本地仓库和远程仓库实际上是独立的两个仓库。假如我之前是直接clone的方式在本地建立起远程github仓库的克隆本地仓库就不会有这问题了。

$git pull origin master --allow-unrelated-histories
(该选项可以合并两个独立启动仓库的历史,以上是将远程仓库的文件拉取到本地仓库了)
$git push origin master:master (紧接着将本地仓库的提交推送到远程github仓库上,)
---------------------------------------------
Git 之 恢复修改的文件

情况I:只是修改了文件,没有任何 git 操作,直接一个命令就可回退:
$ git checkout -- aaa.txt # aaa.txt为文件名

情况II:修改了文件,并提交到暂存区(即编辑之后,gitadd但没有 git commit -m ....)
$ git log --oneline # 可以省略
$ git reset HEAD # 回退到当前版本
$ git checkout -- aaa.txt # aaa.txt为文件名

情况III:修改了文件,并提交到仓库区(即编辑之后,gitadd和 git commit -m ....)
$ git log --oneline # 可以省略
$ git reset HEAD^ # 回退到上一个版本
$ git checkout -- aaa.txt # aaa.txt为文件名
----------------------------------------------------------------------------------
Window下git生成SSH Key:
3. mkdir ~/.ssh
5. ssh-keygen -t rsa -C "你的公司或个人邮箱"
7、测试是否添加成功 ----------可以忽略
bitbucket输入命令:
ssh -T [email protected]
github输入命令:
ssh [email protected] 提示:“Hi lsyz0021! You've successfully authenticated, but GitHub does not provide shel l access.”说明添加成功。

猜你喜欢

转载自www.cnblogs.com/zs-l/p/11840678.html