git bash常用命令
1.生成密钥
ssh-keygen -t rsa –C “youremail@example.com”
然后一路回车即可生成SSH密钥
用记事本打开C:\Users\用户名\.ssh\id_rsa.pub, 复制里面的所有内容(一定要记得去掉最后的空格),然后把它添加到Git站点你的账户的公钥里。
2.设置账户
设置用户名
git config --global user.name "username"
设置邮件
git config --global user.email "youremail@example.com"
3.创建Git库
进入本地目录
cd e:\git
创建新的目录
mkdir example
进入新目录
cd example
在example目录,初始化本地git仓库
git init
运行后会生成一个.git隐藏文件夹
4.拉取代码
添加远程服务器,命名为origin
git remote add origin git@github.com:leiminglin/example.git
(git@github.com:leiminglin/example.git替换为正确的git地址)
拉取主分支代码
git pull origin
拉取dev分支代码
git pull origin dev
5.提交修改
添加要更新文件或目录到本地缓存区,多个文件用空格隔开
git add 1.txt 2.text
添加所有修改过的文件到本地库缓存区
git add –A 或git add --a
提交更新到本地仓库
git commit –m “描述”
提交本地仓库主分支更新到服务器仓库
git push origin
提交本地仓库dev分支更新到服务器仓库
git push origin dev
提交本地仓库dev分支更新到服务器仓库的master分支
git push origin dev:master
6.分支操作
创建分支,不切换分支
git branch branchname
创建分支,切换到新建的分支
git checkout –b branchname
切换分支
git checkout branchname
删除分支
git branch –d branchname
查看本地分支
git branch
查看远程分支
git branch –r
查看本地和远程分支
git branch –a
7.代码备份
将当前所有修改添加到备份区,工作目录的文件恢复到修改前
git stash
查看所有备份
git stash list
恢复备份内容,stash@{0}为备份标识
git stash apply stash@{0}
删除某个备份,stash@{0}为备份标识,不写默认为最新备份
git stash drop stash@{0}
删除所有备份
git stash clear
8.常用命令
查看文件状态,包括新增、修改、删除的文件
git status
撤销所有修改,包括后面的.
git checkout .
撤销某些文件或文件夹的修改
git checkout 1.txt 2.txt dirpath
清空缓存区的文件
git reset head
删除缓存区的文件
git reset head 1.txt 2.txt
仅从缓存区中删除文件,不删除物理文件
git rm --cached 1.txt 2.txt
从缓存区中删除,且删除物理文件(不会回收到垃圾桶)
git rm --f 1.txt 2.txt
9.分支操作
--列出当前所有分支的清单,当前分支前面会有个星号。加-v选项能看到各分支最近一个提交信息
git branch [-v]
--创建并切换分支
git checkout -b branchname
--删除分支
git branch -d branchname
--切换分支,注意:切换分支后工作区的文件会随之切换。
git checkout branchname
10.撤消操作
--撤消本地修改的某个文件
git checkout -- DB/update.sql
--汇总显示工作区、暂存区与HEAD的差异
git checkout
--这条命令最危险!会取消所有本地的修改(相对于暂存区)。相当于用暂存区的所有文件直接覆盖本地文件,不给用户任何确认的机会!
git checkout -- .
--用分支暂存区的文件替换工作区文件
git checkout [branch] -- filename
--版本回退方法。-hard回退后工作区、缓存区、本地仓库全部回退;-mixed会保留工作区代码; -soft会保留工作区和缓存区代码;如果不指定reset的模式,默认使用–mixed模式。
git reset -hard
git reset -mixed
git reset -soft
11.git撤销提交到远程仓库的commit
git如果想撤销已经提交到远程仓库的commit,可以先使用git log 查看commit_id, 然后在本地仓库使用git reset –hard [commit_id]将本地仓库重置为需要撤销的版本,然后使用git push -f origin进行提交,这样可以强制远程仓库与本地仓库一致,这样的操作方式可以使得撤销的commit不在log日志当中,或者也可以使用git revert命令进行撤销。
比方说我想 返回到 a1edaeb37a5 这个commit.
首先现在本地进行还原。
git reset –hard a1edaeb37a5
然后强制push 到远程仓库
git push -f origin
1.场景1:当你改乱了工作区某个文件的内容,想直接丢弃工作区的修改时,用命令Git checkout -- file。
2.场景2:当你不但改乱了工作区某个文件的内容,还添加到了暂存区时,想丢弃修改,分两步,第一步用命令git reset HEAD filename(从暂存区中移除文件),就回到了场景1,第二步按场景1操作。
3.场景3:已经提交了不合适的修改到版本库时,想要撤销本次提交,参考版本回退一节,不过前提是没有推送到远程库。
HEAD指向的版本就是当前版本,因此,Git允许我们在版本的历史之间穿梭,使用命令git reset --hard commit_id。
穿梭前,用git log可以查看提交历史,以便确定要回退到哪个版本。
要重返未来,用git reflog查看命令历史,以便确定要回到未来的哪个版本。
4.另一种情况是删错了,因为版本库里还有呢,所以可以很轻松地把误删的文件恢复到最新版本:
$ git checkout -- test.txt
git checkout其实是用版本库里的版本替换工作区的版本,无论工作区是修改还是删除,都可以“一键还原”。
命令git rm用于删除一个文件。如果一个文件已经被提交到版本库,那么你永远不用担心误删,但是要小心,你只能恢复文件到最新版本,你会丢失最近一次提交后你修改的内容。

