Git
免密登录,之后最多再登录一次
git config --global credential.helper store
[credential]
helper = store
学习资源连接:
Git教程 - 廖雪峰的官方网站 (liaoxuefeng.com)
深入浅出Git教程(转载) - 小奔的早晨 - 博客园 (cnblogs.com)
GIT 基础命令
#系统配置在/etc/gitconfig
$ git config --system --list
# 用户配置在/home/user/.gitconfig,[]表示可选内容
$ git config [--global] --list
$ git config --list
#配置用户信息
$ git config --global user.name "XXXXXXXXX"
$ git config --global user.email XXXXXX@XXXXX
#配置文本编辑器
$ git config --global core.editor vim
# 仓库建立
# 1. 本地创建仓库
# 初始化
$ git init
Initialized empty Git repository in /home/zwj/git_typing/test/.git/
# 添加文件到暂存区
$ git add .
# 忽略文件
# 提交到本地仓库,包含消息“XXXXX”
$ git commit -m "XXXXX"
# 推送到远程仓库
$ git push
# 2. 复制拉取仓库
$ git clone [url] [name]
$ git pull
$ git reset # 恢复
$ git checkout # 减除
# git仓库状态信息
git status
# git 日志
git log
GIT 文件状态
版本控制就是对文件的版本控制,要对文件进行修改、提交等操作,首先要知道文件当前在什么状态,不然可能会提交了现在还不想提交的文件,或者要提交的文件没提交上。
- Untracked: 未跟踪, 此文件在文件夹中, 但并没有加入到git库, 不参与版本控制. 通过git add 状态变为Staged.
- Unmodify: 文件已经入库, 未修改, 即版本库中的文件快照内容与文件夹中完全一致. 这种类型的文件有两种去处, 如果它被修改, 而变为Modified. 如果使用git rm移出版本库, 则成为Untracked文件
- Modified: 文件已修改, 仅仅是修改, 并没有进行其他的操作. 这个文件也有两个去处, 通过git add可进入暂存staged状态, 使用git checkout 则丢弃修改过, 返回到unmodify状态, 这个git checkout即从库中取出文件, 覆盖当前修改 !
- Staged: 暂存状态. 执行git commit则将修改同步到库中, 这时库中的文件和本地文件又变为一致, 文件为Unmodify状态. 执行git reset HEAD filename取消暂存, 文件状态为Modified
GIT 忽略文件
在仓库目录下创建一个文件名称.gitignore的文件
文件 .gitignore 的格式规范如下:
• 所有空行或者以 # 开头的行都会被 Git 忽略。
• 可以使用标准的 glob 模式匹配。
• 匹配模式可以以(/)开头防止递归。
• 匹配模式可以以(/)结尾指定目录。
• 要忽略指定模式以外的文件或目录,可以在模式前加上惊叹号(!)取反。
GIT 绑定远程仓库
Git本地设置
git config --global user.name "codeherojake"
git config --global user.email "[email protected]"
Git创建 git 仓库:
$ mkdir golang-coding-leetcode
$ cd golang-coding-leetcode
$ git init
$ touch README.md
$ git add README.md
$ git commit -m "first commit"
$ git remote add origin https://gitee.com/codeherojake/golang-coding-leetcode.git
$ git push -u origin "master"
已有仓库?
$ cd existing_git_repo
$ git remote add origin https://gitee.com/codeherojake/golang-coding-leetcode.git
$ git push -u origin "master"
查寻本地绑定的remot仓库并删除
$ git remote -v
$ git remote remove origin
gpg签名
如果报错,如下错误:
gpg: skipped "XXXXXXXXXX": No secret key
gpg: signing failed: No secret key
error: gpg failed to sign the data
fatal: failed to write commit object$ git config --global gpg.program "C:\Program Files (x86)\GnuPG\bin\gpg.exe"
$ gpg --list-secret-keys --keyid-format=long
/Users/hubot/.gnupg/secring.gpg
------------------------------------
sec 4096R/3AA5C34371567BD2 2016-03-10 [expires: 2017-03-10]
uid Hubot <[email protected]>
ssb 4096R/4BB6D45482678BE3 2016-03-10
# 其中 3AA5C34371567BD2是secret key
$ git config --global user.signingkey 3AA5C34371567BD2
$ git commit -S -m "YOUR COMMIT MESSAGE"
$ git log --show-signature # 查看签名状态
git 分支
# 列出分支
$ git branch
# 列出远程分支
$ git branch -r
# 新建一个分支,但依旧停留在当前分支
$ git branch [name]
# 新建一个分支,并切换到该分支
$ git checkout -b [branch]
# merge前,先前往目标branch
$ git checkout [branch]
# 合并指定branch分支到当前分支
$ git merge [branch]
# 删除分支
$ git branch -d [branch-name]
# 删除远程分支
$ git push origin --delete [branch-name]
$ git branch -dr [remote/branch]
# 一般dev是开发分支
标签:文件,Git,--,GPG,git,签名,branch,config
From: https://www.cnblogs.com/auspice/p/17617860.html