8种机械键盘轴体对比
本人程序员,要买一个写代码的键盘,请问红轴和茶轴怎么选?
Git 是目前世界上最流行的版本控制工具,它可以记录历史操作和协同工作。Git is a free and open source distributed version control system designed to handle everything from small to very large projects with speed and efficiency.
下面介绍 Git 命令行工具的安装和使用。
Git 安装
Windows
安装完成后,打开 cmd 或 powershell 敲入下面命令确认安装成功:git version
Linux
可以使用 apt 来安装:apt-get install git
如果 apt 安装的版本太旧,可以添加官方源来安装最新版:add-apt-repository ppa:git-core/ppa
apt update
apt install git
终端敲入下面命令确认安装成功:git version
基本命令
初始化仓库
将目录切换到想要进行版本控制的文件夹,输入下面命令初始化仓库,会在文件夹下建立 .git 目录:git init
克隆远程仓库
复制远程仓库链接:
在命令行下输入命令:git clone https://github.com/nie11kun/script.git
会将仓库下载到当前目录下。
本地修改保存
在仓库里进行过文件的增加/删除/修改等操作后,变动的文件还没有被 Git 追索引到,是 untracked 状态,需要将改动保存快照,这是进行远程推送及历史查询所必须的步骤。
主要有两个命令:git add 和 git commit,git add 负责将文件快照保存,git commit 负责给这个快照最终命名和存档。
首先将变动的文件 stage 起来,就是将文件当前信息存档,配合 option 来精细区分要 stage 的文件:# 将所有变动的文件 stage
git add -A
git add .
# 只将修改和删除的文件 stage
git add -u
# 只将新建和修改的文件 stage,不包含删除的
git add --ignore-removal
*注意在 Git 版本小于 2 时,git add . 和 git add --ignore-removal 是一个效果。
然后将 stage 的文件用 commit 命令保存到仓库:git commit -m "给这个快照命名"
撤销修改(added/commited)
在编程中我们经常会对修改部分需要撤销修改,使用命令可以方便的操作,主要有三种情况:untracked 文件,staged 文件,commited 文件。
untracked
对于只是进行了处理的文件(新建/修改/删除),只需要撤销修改即可:# 撤销单个文件
git checkout file
# 撤销全部文件修改
git checkout .
staged
对于已经使用 git add stage 的文件,需要使用 reset 指令来撤销 stage:git reset
然后如果要撤销修改使用上面 untracked 的方法。
commited
对于已经使用 git commit 命令保存快照时,需要将 HEAD 指定到原来的:git reset --soft HEAD^
这样就返回到 staged 的状态了,进一步的返回,参考上面 staged 的步骤。
状态查询
查询当前仓库的状态,对于进一步操作很有必要,可以看到那些文件进行了修改,还没有 track,保存的快照没有 push 等。
执行以下命令:git status
本地和远程仓库同步
如果本地仓库和远程服务器绑定,可以在两个直接进行推送和拉取。
初始用户设定
要和远程仓库同步数据,需要设定本地用户信息,如: email username 等,远程仓库会根据归类代码历史是属于哪个用户的:git config --global user.email "[email protected]"
git config --global user.name "Your Name"
git config --global push.default simple
缓存 GitHub 密码信息-credential
默认向远程服务器推送的时候,需要输入账户密码,为了便于操作,可以将账户信息缓存在本地。
绑定远程仓库
复制远程仓库地址:
在本地添加远程仓库,origin 分支就代表远程仓库:git remote add origin https://github.com/nie11kun/TestGit.git
将本地 master 分支推送到 origin 分支也就是远程分支,如果远程仓库是空的,使用 -u 参数来初始化,将本地 master 和 远程 master 分支绑定:git push -u origin master
同步远程仓库到本地git pull
推送本地存档到远程git push