认识GitHub

1 GitHub常用命令

操作

操作
创建本地仓库
git init

将目录下所有文件保存至缓存区
git add .

将代码从缓存区保存至本地仓库
git commit -m “xxxxx”

将本地仓库与指定的远程仓库创建联系
git remote add origin https://github.com/xxx.git
设置为master分支
git branch -m master

将本地仓库代码推送至远程master仓库
git push -u origin master

创建分支仓库及切换分支
git branch mybranch
git checkout mybranch

将本地分支仓库创建到远程仓库origin
git push origin localBranchName:remoteBranchName

将本地分支仓库推送到origin远程仓库的指定分支
git push origin remoteBranchName

合并指定分支到当前分支
git merge targetBranchName

将远端仓库的内容更新到当前分支
git rebase remoteBranchName

直接从远程主分支更新代码
git pull
git pull origin master

在本地同步其他远程分支
git checkout -b 本地分支名 origin/远程分支名

添加远程仓库
git remote add <name> <url-of-remote>

取消本地目录下关联的远程库
git remote remove origin

推送到远程仓库的指定分支
git push <name of remote repository> <name of branch>

创建本地副本
git clone <版本库的URL> [本地目录名]

在本地新建一个temp分支,并将远程origin仓库的master分支代码下载到本地temp分支
git fetch origin master:temp

将远程仓库origin的master分支拉取过来,与本地的locBranch分支合并
git pull origin master:locBranch
== git git fetch origin master:temp+git checkout locBranch+git merge temp

删除本地分支
git branch -D locBrName

删除远程分支
git push remoteRepoName --delete remoteBrName
git push remoteRepoName :remoteBrName

查看

查看本地仓库状态,查看自上次提交之后更改的文件及没有加入缓冲区的文件
git status

查看(本地已知的)所有分支
git branch -al

查看当前(本地已知的)分支提交日志
git log --oneline

查看项目(本地已知的)每个分支的历史提交记录
git log --graph --all --decorate --oneline

查看(本地已知的)目前关联的远程仓库
git remote -v

查看git设置
git config --list
git config --local --list

查看某个远程仓库的详细信息
git remote show [remote-name]

更新本地的origin仓库的远程分支列表
git remote update origin --prune

2 GitHub命令及用法说明备查

2.1 config

config——配置用户信息

因为Git是分布式版本控制系统,所以需要填写用户名和邮箱作为一个标识。

git config --global 参数包括user.name user.email信息,使用这个参数的所有的Git仓库被唯一标识。

git config --global user.name ""
git config --global user.email ""

2.2 init

通过命令 git init 在当前的项目目录中生成本地的git管理,把当前目录变成git可以管理的仓库。

这时候当前目录下产生一个.git的目录,这个目录是git来跟踪管理版本的,不能擅自修改,否则,会把git仓库给破坏了。

git init

2.3 commit

通过命令git status,git会告诉什么文件被修改了但尚未缓存,什么文件可能需要被提交,它将返回已更改的文件,或者是自上次提交之后添加的新文件。

git status

为了接受这些更改,并让它们准备好被提交,需要使用命令git add命令,这将把它们放入被称为暂存区的持久化容器中。可以通过git status查看状态的更新。

每次提交更改都必须经过暂存区,这是git架构的一个关键部分。

git add fileName

通过命令git commit将更新提交到仓库,使用-m "description"对提交的更新进行描述,以便他人和未来的自己理解更新内容。

git commit -m "description"

2.4 diff

通过命令git diff,会得到工作树的精确描述,得到当前本地项目与暂存区的不同。

git diff

通过参数–staged,会得到暂存区与最近提交的历史文件的不同。

git diff --staged

通过参数HEAD,会得到当前本地项目与最后一次提交的历史文件的不同。

git diff HEAD

通过参数–color-words、–word-diff,查看更细节的改动,能更好地查看长行的小改动。

git diff --color-words
git diff --word-diff

通过参数–stat,仅查看被改动的文件。

git diff --stat

2.5 log

通过命令git log查看历史提交记录,显示从最近到最远的提交日志。

git log

通过参数–stat查看每次提交中包含哪些文件。

git log --stat

通过参数–patch查看每次提交改变了哪些内容。按q退出。

git log --patch

通过参数–oneline来快速查看一个提交概要,包括提交信息和一个简短的标识符信息,快速查看仓库历史和项目推进过程。

git log --oneline
git log --stat --oneline
git log --patch --oneline

通过参数–graph以图方式查看历史提交记录,会提供项目每个分支的标志,以及其他提供的标志,如tags。添加更多选项–all、–decorate、–oneline可以更方便地查看。

git log --graph
git log --graph --all --decorate --oneline

2.6 reset

git reset命令用于版本回退、历史重塑

2.6.1 mixed模式

通过参数(–mixed )HEAD将移除最近暂存区的改变。

git status
git reset HEAD
git status

2.6.2 soft模式

通过参数–soft HEAD~num将最近的num次提交合并到一起。然后可以合并提交

git log --oneline
git reset --soft HEAD~num
git commit -m " "

2.6.3 hard模式

通过参数–hard HEAD^^将最近的2次提交完全丢弃,回退到前2个版本。
通过参数–hard HEAD~num将最近的num次提交完全丢弃,回退到前num个版本。

git reset --hard HEAD^
git reset --hard HEAD~5

通过参数 --hard 版本号 可以恢复到已经被丢弃的特定版本。

git reset --hard 版本号

通过命令git reflog可以获取历史版本号。

git reflog

2.7 remove

2.7.1 rm

通过命令git rm将某个文件移除,并更新缓存,一旦提交,该文件会在未来的提交中消失,但不会从历史提交中消失。

git rm filename
git commit -m "description"

2.7.2 add

将本地工作区中的一些文件删除后,通过git status可以看到哪些文件被删除了。
通过git add -u .命令可以在缓存区递归找到所有在工作区中已经被删除的文件,并将更改应用到缓存区,"."是当前工作目录的简写。

git status
git add -u .

2.7.3 rm --cached

通过git rm --cached停止追踪某个文件,但是不从文件系统中真正删除它,在工作树中保留它。

git rm --cached filename

2.8 move

2.8.1 mv

通过命令git mv将某个文件移动。

git mv oldFilePath newFilePath

这个操作等价于在本地进行mv移动,然后在缓存中以git rm删除旧文件,以git add添加新文件。

mv oldFilePath newFilePath
git rm oldFilePath
git add newFilePath

2.8.2 add -A

通过git add -A .命令可以将本地当前目录下移动过的文件(更改了或未更改,但名字不变)在缓存区自动进行更新。

git add -A .

2.8.3 git log -M --follow

通过git log --stat – filename命令可以看到文件在最后一次移动之后的历史提交。

通过添加开关-M --follow可以看到文件包括移动在内的历史提交。

git log --stat -- filename
git log --stat -M --follow -- filename
### 回答1: GitHub Copilot是由GitHub和OpenAI共同开发的一款新型编程辅助工具,它使用人工智能技术,能够分析代码,预测程序员的下一步操作,并提供代码片段和建议。然而,很多人认为GitHub Copilot实际上等于是在免费使用OpenAI的GPT-3技术,尤其是在没有向OpenAI支付任何费用的情况下免费使用它的API接口,因此被称为“白嫖”OpenAI技术。 GitHub Copilot的免费使用引发了很多关于知识产权和付费模式的讨论。虽然GitHub Copilot的免费使用可能会吸引更多的开发者,但也可能对OpenAI的商业模式造成竞争压力。除此之外,也有人认为,免费使用GitHub Copilot可能会损害开发者的职业发展,因为缺乏独立解决问题和独立思考的能力,这可能会对他们的工作效率和质量产生负面影响。 总之,无论如何,免费使用GitHub Copilot确实为程序员提供了便利,但是我们也应该认识到其局限性和风险,避免出现不必要的负面影响。GitHub Copilot只能作为编程辅助工具的一种选择,而不是完全依赖的唯一解决方案。进一步地讲,在免费使用GitHub Copilot的同时,我们应该学会独立思考和解决问题的能力,这样才能成为真正的优秀程序员。 ### 回答2: GitHub Copilot是一款由GitHub开发的人工智能代码辅助工具。白嫖是指免费使用并获取了一定的价值。对于GitHub Copilot而言,虽然它确实是一个免费工具,但这并不等同于白嫖。 首先,GitHub Copilot是一个由AI驱动的代码提示和生成工具。它通过分析海量的开源代码库,以及用户自己的代码,为开发者提供智能的代码补全和生成功能。这种功能有助于提高开发效率和减少编码工作量。然而,这一功能的实现离不开技术研发团队的巨大工作量和投资。因此,虽然用户可以免费使用GitHub Copilot,但是背后的研发团队和GitHub自身并不是“白嫖”这个工具。 其次,GitHub Copilot是基于开源模型训练的。GitHub Copilot的AI模型是通过使用GitHub上数亿行的开源代码进行训练而得到的。这意味着GitHub Copilot建立在开源社区的贡献和支持之上。因此,使用GitHub Copilot的用户不仅是在获得智能代码提示,同时也在为开源社区作出贡献,共同推动了开源软件的发展和进步。因此,将GitHub Copilot称为“白嫖”是不准确的。 最后,虽然GitHub Copilot是免费提供给用户使用的,在未来可能会推出付费版本,增加更多高级功能。这种商业模式也是为了支持该工具的持续发展和维护。 综上所述,尽管我们可以免费使用GitHub Copilot,但我们应该意识到这背后的努力和付出,同时也要认识到我们作为用户的价值和贡献。因此,以“白嫖”来形容GitHub Copilot并不准确,我们可以更恰当地说是“免费使用并享受开源社区的贡献”。 ### 回答3: GitHub Copilot是一款基于机器学习的代码自动补全工具,由GitHub和OpenAI共同开发。它可以帮助开发者更快速地编写代码,提供了丰富的代码片段和建议,极大地提高了编码的效率和质量。然而,可惜的是,GitHub Copilot并非完全免费使用。 首先,GitHub Copilot基于机器学习模型的训练需要耗费大量的计算资源和数据。这些资源和数据的获取和维护都需要资金支持,因此GitHub Copilot的研发和维护不可能完全免费。 其次,虽然GitHub Copilot对于个人开发者来说是免费的,但对于商业用途的开发者则需要付费订阅GitHub Copilot Pro服务。这个服务提供了更高级的功能和支持,例如对商业代码的支持、更多语言的支持等。 因此,虽然GitHub Copilot在某些方面可以被看作是一种"白嫖"资源,但它仍然需要付费来获取全面的使用权。GitHub Copilot的付费订阅模式确保了其可持续发展与进一步的研发,同时也体现了开发者和GitHub Copilot团队的对彼此努力的认可和回报。所以,即使有部分功能是免费的,我们还是应该为使用GitHub Copilot的各种便利付出相应的价值。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值