个体商户建自己的网站做销售,江苏省建设部网站,平台怎么推广技巧,泸州软件开发公司1、基本命令
目录
1、基本命令
创建 Git 存储库
添加文件/目录到索引
将更改提交到本地存储库
撤消上一次提交的更改
显示工作树状态
显示对工作树和索引的更改
显示提交日志
显示提交详细信息
重命名文件
从工作树和索引中移除文件
从工作树中移除未跟踪文件
将…1、基本命令
目录
1、基本命令
创建 Git 存储库
添加文件/目录到索引
将更改提交到本地存储库
撤消上一次提交的更改
显示工作树状态
显示对工作树和索引的更改
显示提交日志
显示提交详细信息
重命名文件
从工作树和索引中移除文件
从工作树中移除未跟踪文件
将文件恢复到工作树
从索引中移除文件
仅将修改和删除的文件添加到索引
2、远程命令
复制存储库
添加远程存储库
显示远程存储库列表
从远程存储库签出分支
创建分支更改并将其推送到远程存储库
检查远程存储库中的分支更改
从远程存储库获取并合并最新的分支更改
从远程存储库删除分支
在远程存储库中创建标签
从远程存储库删除标签
修改远程存储库地址 重命名远程存储库
3、git的分支命令
显示分支列表
创建分支
重命名分支
删除分支
切换分支
合并分支
4、提交历史记录
修改之前的提交和消息
修改并移动过去的提交和消息
退出变基
显示参考日志
显示分支提示的参考日志
移除以前的提交
重置变基
取消之前的重置
从另一个分支复制提交
搜索提交消息
5、Git 暂存命令
暂存当前的更改
显示暂存列表
从暂存中恢复更改
删除暂存
删除所有暂存
6、标签命令
显示标签列表
创建标签
创建带有信息的标签
删除标签
7、Git config 命令
设置用户名和电子邮件
彩色显示输出
为命令设置别名
从版本控制跟踪中删除文件
在版本控制下跟踪空目录
显示设置
设置与代理服务器的 HTTP 连接
建立到用户认证代理服务器的 HTTP 连接
8、故障排除
使用 SSH 连接到远程存储库时出现“Permission denied (publickey)”错误
无法通过其 HTTPS URL 克隆远程存储库
推送到远程存储库的更改没有反映在那里
9、Git 与 SVN 命令 Git-Subversion 命令对照表 创建 Git 存储库
$ git init
添加文件/目录到索引
$ git add filepattern
-p选项系统将提示您接受/拒绝已更改文件的特定部分。
-i选项则可以交互式地暂存更改
将更改提交到本地存储库
$ git commit
-a选项就像一个快捷方式可以检测更改的文件 (新添加的文件除外)将它们添加到索引 并提交它们。
-m选项允许您同时提交和指定提交消息。如果您不指定-m将打开一个文本编辑器提示您输入提交消息。
撤消上一次提交的更改
$ git revert HEAD
Git revert 命令将一个提交作为参数并创建一个新的提交来撤消该提交所做的更改。
显示工作树状态
$ git status
添加-s选项将只显示已更改的文件名。
添加-s选项后面再接-b选项将在输出中包含分支名称
显示对工作树和索引的更改
$ git diff
在默认情况下diff 命令将会显示工作树和索引之间的差异。
如果添加--cached选项将显示索引和 HEAD 之间的差异。
如果您指定提交哈希将会显示工作树和当前的 HEAD/提交之间的差异
显示提交日志
$ git log
显示提交详细信息
$ git show commit
重命名文件
$ git mv oldfilename newfilename
从工作树和索引中移除文件
$ git rm file
从工作树中移除未跟踪文件
$ git clean
添加-n选项将只显示将要移除的文件。添加-f选项实际上会移除文件
将文件恢复到工作树
$ git checkout -- file
从索引中移除文件
$ git reset HEAD -- file
仅将修改和删除的文件添加到索引
$ git add -u
2、远程命令
复制存储库
$ git clone url
克隆命令将在本地计算机上创建现有远程存储库的副本。它还将配置本地存储库以自动跟踪远程存储库。
该配置允许您执行 Git push 命令或 Git fetch/pull 命令而不指定远程存储库名称
添加远程存储库
$ git remote add name
显示远程存储库列表
$ git remote
如果添加-v选项您就可以查看远程存储库的详细信息
从远程存储库签出分支
$ git checkout branch
创建分支更改并将其推送到远程存储库
$ git push repository refspec
检查远程存储库中的分支更改
$ git fetch repository refspec
获取命令允许您从远程存储库检索最新数据以检查更改的内容。但是此命令不会自动将更改合并到您现有的任何工作中。
repository和refspec参数都是可选的。省略存储库名称将产生与推送命令相同的操作。省略refspec参数将确保获取可应用于该远程存储库中的所有分支
从远程存储库获取并合并最新的分支更改
$ git pull repository refspec
pull 命令将从远程存储库中检索最新更改的内容并将其直接合并到您的本地存储库中。基本上pull fetch merge。
repository和refspec参数都是可选的。省略存储库名称将产生与推送命令相同的操作。省略refspec参数将确保拉取仅应用于当前分支。
从远程存储库删除分支
$ git push --delete repository branchname
删除远程存储库中的分支。
在推送命令中加入--delete选项从远程存储库中删除指定的分支
在远程存储库中创建标签
$ git push repository tagname
如果添加--tags选项则本地存储库中存在的所有标签都将被推送到远程存储库中并与您指定的任何符号引用一起在远程存储库中创tagname
从远程存储库删除标签
$ git push --delete repository tagname
使用推送命令的--delete选项可以从远程存储库中删除指定的标签。
修改远程存储库地址
$ git remote set-url name newurl重命名远程存储库
$ git remote rename old new
3、git的分支命令
显示分支列表
$ git branch
添加-r选项还将列出远程跟踪分支。添加-a选项将同时显示远程和本地分支
创建分支
$ git branch branchname
重命名分支
$ git branch -m oldbranch newbranch
删除分支
$ git branch -d branchname
如果该分支还没有完全与上游分支合并或者在 HEAD 中如果没有上游Git 将不允许您删除该分支。但是您可以指定-D以强制删除它而不管其合并状态如何。
切换分支
$ git checkout branch
添加-b选项将创建一个新分支并切换到它
合并分支
$ git merge branch
添加--no-ff选项将导致 git merge 命令都会是创建合并提交而不是快进。这很有用因为它允许您保留合并前分支的历史记录信息。
当您添加--squash选项时Git 会创建一个代表合并更改的单个提交而不是创建合并提交。 此提交包含来自合并分支的更改但不包含任何与合并分支或合并过程本身相关的信息
4、提交历史记录
修改之前的提交和消息
$ git commit --amend
添加--amend选项来覆盖您正在处理的分支的最新提交。
当索引中没有文件时您可以通过添加--amend选项重新提交之前的提交系统将提示您编辑现有的提交消息。
修改并移动过去的提交和消息
$ git rebase -i commit
添加提交哈希将列出直到最新提交的所有提交的列表。找到您要修改的提交并将该行从pick更改为edit然后保存并退出。
接下来添加--amend选项来提交。将显示用于添加消息的界面。修改消息。
$ git commit --amend
最后添加--continue选项来运行 rebase。
$ git rebase --continue
退出变基
$ git rebase --abort
通过添加--abort选项您可以退出变基操作。
显示参考日志
$ git reflog
显示分支提示的参考日志
$ git reflog ref
移除以前的提交
$ git reset --hard HEAD~
重置变基
$ git reset --hard commit
取消之前的重置
$ git reset --hard ORIG_HEAD
ORIG_HEAD 指的是重置发生之前的提交。您可以使用 reset to ORIG_HEAD 恢复之前的重置
从另一个分支复制提交
$ git cherry-pick commit
搜索提交消息
$ git log --grep pattern
5、Git 暂存命令
暂存当前的更改
$ git stash save
显示暂存列表
$ git stash list
从暂存中恢复更改
$ git stash pop
删除暂存
$ git stash drop
删除所有暂存
$ git stash clear
6、标签命令
显示标签列表
$ git tag
添加-n选项将显示每个标签上的注释
创建标签
$ git tag tagname
创建带有信息的标签
$ git tag -a tagname
删除标签
$ git tag -d tagname
7、Git config 命令
设置用户名和电子邮件
$ git config --global user.name username
$ git config --global user.email mailaddress
如果没有--global选项此设置将仅应用于特定存储库。
彩色显示输出
$ git config --global color.ui auto
为命令设置别名
$ git config --global alias.aliasname commandname
从版本控制跟踪中删除文件
$ echo filename .gitignore
在.gitignore文件下添加文件路径。Git 将不再管理这些文件。您必须提交.gitignore文件才能发挥作用
在版本控制下跟踪空目录
$ cd dirname
$ touch .gitkeep
Git 不会跟踪空目录。如果您想将其添加到版本控制中则需要在该目录中放置一个文件。人们通常做的一个常见做法是在空目录中添加一个.gitkeep文件。
显示设置
$ git config --global --list
设置与代理服务器的 HTTP 连接
将以下设置添加到.gitconfig文件的 http 项。
[http] proxy address of the proxy server:port of the proxy server
也可以使用以下 config 命令对其进行配置
$ git config --global http.proxy address of the proxy server:port of the proxy server
建立到用户认证代理服务器的 HTTP 连接
将以下设置添加到.gitconfig文件的 http 项
[http] proxy http://username:passwordaddress of the proxy server:port of the proxy server
您也可以使用以下 config 命令对其进行配置
$ git config --global http.proxy http://username:passwordaddress of the proxy server:port of the proxy server
8、故障排除
使用 SSH 连接到远程存储库时出现“Permission denied (publickey)”错误
首先您需要确保以下几点
URL 是否正确密钥是否在本地机器中正确配置公钥是否在远程正确配置
您可以通过运行以下命令来验证与 Backlog 远程存储库对应的公钥/密钥配置
$ ssh spacespace.git.backlog.com
用您拥有的 Backlog 空间取代space。(例如对于空间demo.backlog.com它将是demodemo.git.backlog.com)
如果设置正确您将看到以下输出。如果您看到错误消息请重复上述步骤并确保您做对了。
Hi yourname! Youve successfully authenticated, but Backlog does not provide shell access. Connection to git.backlog.com closed.
无法通过其 HTTPS URL 克隆远程存储库
在旧版的 Git 上您可能偶尔会在执行推送或拉取时遇到问题。建议您使用最新的 Git 版本或高于 v2 的版本。如果您使用的是 Source Tree 或 TortoiseGit 等 Git 客户端请使用相应客户端附带的 Git 版本。
推送到远程存储库的更改没有反映在那里
执行推送时您可能会遇到以下消息。当您从新的本地存储库推送时通常会发生这种情况
$ git push
No refs in common and none specified; doing nothing. Perhaps you should specify a branch such as main. Everything up-to-date
通过在执行推送时省略分支名称Git 将默认假定您正在尝试将当前更改推送到与本地分支同名的远程分支。如果尚未在远程存储库中创建主分支则会发生这种情况。(我们从本地主分支推送。)在这种情况下我们将必须在执行推送时明确使用分支名称。
$ git push -u origin main
通过这样做主分支将自动在远程存储库中创建。您下次运行推送时可以省略分支名称。
9、Git 与 SVN 命令
Git-Subversion 命令对照表
CommandOperationSubversiongit clone复制存储库svn checkoutgit commit记录对文件历史记录的更改svn commitgit show查看提交详细信息svn catgit status查看状态svn statusgit diff查看差异svn diffgit log查看日志svn loggit add添加svn addgit mv移动svn mvgit rm删除svn rmgit reset取消更改svn revert1git branch创建分支svn copy2git checkout切换分支svn switchgit merge合并svn mergegit tag创建标签svn copy2git pull更新svn updategit fetch更新svn updategit push反映在远程的更改svn commit3.gitignore忽略文件列表.svnignore
SVN 中的 Revert 取消更改但 Git 中的 Revert 否定更改。分支和标签在 SVN 中相同但在 Git 中不同。SVN 没有本地存储库与远程存储库的概念因此提交直接反映在远程中。