github项目创建, git常用指令,git项目实操

深藏阁楼爱情的钟 2023-09-24 09:01 150阅读 0赞

  github:是一个开源平台,可以帮助我们托管,维护代码,同时可以在github上发现很多优秀的代码供我们学习。

  git:主要是github的操作工具,实现团队的协同开发。

  当然你首先必须有一个自己的github账号,账号的注册流程不再描述,我们直接进入项目的搭建。

  ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?ade9db9920285495605cbcc4823d927d.png

  ? ? ? ? ? ?上面截图为你github项目列表页面 点击new按钮进入新项目的创建。

  ? ? ? ? ? ? ? ? ? ? ? ? ?2d166440a55fbfcfdf00545139858061.png

  ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?441c9622e1fac26eff13366acc5b2aee.png

  ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 64e837c9d0db9a9168e03345b3f1442c.png

  ? ? ? ? ? ? ? ? ? ? ?这是项目新建成功以后的界面。点击右上角的clone or download可以选择将项目下载到本地。接下来进入git环节?。

  ? ? ?点击进入git官网,系统会自动识别你的浏览器为你推荐windows或者mac版本的git下载。

  ? ? git安装成功以后的界面

  ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?bbc671fec27c7ba7f1d1afaf15000f0c.png

  我们所有有关项目的操作指令均会在这个小黑框内完成。

  第一次使用需要配置你的基本信息

  $ git config —global user.name “xxxx”

  $ git config —global user.email “xxxx@xx.xxx

  配置成功以后我们需要来生产密钥,这是我们用来打通GitHub和本地项目的钥匙。

  $ ssh-keygen -t rsa -C “你的电脑名称”

  这样会在C盘下生成你的公钥,私钥。

  $ cat /c/Users/mrsti/.ssh/id_rsa.pub

  用cat指令来执行你生成的私钥文件,就会生产链接GitHub需要的ssh,将生成的ssh直接粘贴到GitHub 设置里面

  64d92eefc31c2f83b1c5005b8f0311ef.pngdd4ab8cc814098895ef2dc193e868026.png0eee686e5c3587cdbbf355e725a6cbad.png

  按照上图顺序进行操作,最后将生产的ssh粘贴到key里面 就大功告成了。

  git工具配置好以后,我们就需要打通GitHub和本地了,

  a999da80ccdc0c10d38ccbd8c8fedf30.png

  复制里面的ssh地址,进入git窗口操作?git clone 你的ssh地址,这样就把你的文件copy到本地了。

  git init

  ? ? ?在本地新建一个repo,进入一个项目目录,执行git init,会初始化一个repo,并在当前文件夹下创建一个.git文件夹.

  git clone

  ? ? ?获取一个url对应的远程Git repo, 创建一个local copy.

  ? ? ?一般的格式是git clone [url].

  ?clone下来的repo会以url最后一个斜线后面的名称命名,创建一个文件夹,如果想要指定特定的名称,可以git clone [url] newname指定.

  git add

  ? ? ?在提交之前,Git有一个暂存区(staging area),可以放入新添加的文件或者加入新的改动. commit时提交的改动是上一次加入到staging area中的改动,而不是我们disk上的改动.

  ? ? ?git add?.

  ? ? ?会递归地添加当前工作目录中的所有文件.

  git commit

  ? ? ?提交已经被add进来的改动.

  ? ? ?git commit -m “the commit message”

  ? ? ?git commit -a 会先把所有已经track的文件的改动add进来,然后提交(有点像svn的一次提交,不用先暂存). 对于没有track的文件,还是需要git add一下.

  ? ? ?git commit —amend 增补提交. 会使用与当前提交节点相同的父节点进行一次新的提交,旧的提交将会被取消.

  git push

  ? ? ?push your new branches and data to a remote repository.

  ? ? ?git push [alias] [branch]

  ? ? ?将会把当前分支merge到alias上的[branch]分支.如果分支已经存在,将会更新,如果不存在,将会添加这个分支.

  ? ? ?如果有多个人向同一个remote repo push代码, Git会首先在你试图push的分支上运行git log,检查它的历史中是否能看到server上的branch现在的tip,如果本地历史中不能看到server的tip,说明本地的代码不是最新的,Git会拒绝你的push,让你先fetch,merge,之后再push,这样就保证了所有人的改动都会被考虑进来.

  git fetch

  ? ? ?download new branches and data from a remote repository.

  ? ? ?可以git fetch [alias]取某一个远程repo,也可以git fetch —all取到全部repo

  ? ? ?fetch将会取到所有你本地没有的数据,所有取下来的分支可以被叫做remote branches,它们和本地分支一样(可以看diff,log等,也可以merge到其他分支),但是Git不允许你checkout到它们.?

  git merge

  ? ? ?把一个分支merge进当前的分支.

  ? ? ?git merge [alias]/[branch]

  ? ? ?把远程分支merge到当前分支.

  ? ? ?如果出现冲突,需要手动修改,可以用git mergetool.

  ? ? ?解决冲突的时候可以用到git diff,解决完之后用git add添加,即表示冲突已经被resolved.

  git branch

  ? ? ?git branch可以用来列出分支,创建分支和删除分支.

  ? ? ?git branch -v可以看见每一个分支的最后一次提交.

  ? ? ?git branch: 列出本地所有分支,当前分支会被星号标示出.

  ? ? ?git branch (branchname): 创建一个新的分支(当你用这种方式创建分支的时候,分支是基于你的上一次提交建立的).?

  ? ? ?git branch -d (branchname): 删除一个分支.

  ? ? ?删除remote的分支:

  ? ? ?git push (remote-name) :(branch-name): delete a remote branch.

  ? ? ?这个是因为完整的命令形式是:

  ? ? ?git push remote-name local-branch:remote-branch

  ? ? ?而这里local-branch的部分为空,就意味着删除了remote-branch

  git checkout

  git checkout (branchname)

  ? 切换到一个分支.

  ? ? ?git checkout -b (branchname): 创建并切换到新的分支.

  ? ? ?这个命令是将git branch newbranch和git checkout newbranch合在一起的结果.

  ? ? ?checkout还有另一个作用:替换本地改动:

  ? ? ?git checkout —

  ? ? ?此命令会使用HEAD中的最新内容替换掉你的工作目录中的文件.已添加到暂存区的改动以及新文件都不会受到影响.

  ? ? ?注意:git checkout filename会删除该文件中所有没有暂存和提交的改动,这个操作是不可逆的.

  git pull

  ? ? ?fetch from a remote repo and try to merge into the current branch.

  ? ? ?pull == fetch + merge FETCH_HEAD

  ? ? ?git pull会首先执行git fetch,然后执行git merge,把取来的分支的head merge到当前分支.这个merge操作会产生一个新的commit.?

  ?如果使用—rebase参数,它会执行git rebase来取代原来的git merge.

  ?

  日常工作中,github创建的项目会有一个主分支,一般来说是禁止在主分支进行项目管理的,需要我们创建一个新的分支

  38d0a36b162ebb87d0a013d46d569aaf.png

  在箭头的地方查询或者新建分支,之后切换到自己的分支前去开发。

  具体步骤如下: 1 git pull 把新建的分支pull到你本地

  ? ? ? ? ? ? ? ? ? ? ? ? ? 2 git checkout xxx 切换到新创建的分支进行开发

  ? ? ? ? ? ? ? ? ? ? ? ? ? 3 当前开发完成后 通过 git add . 将改动的地方提交至缓存区

  ? ? ? ? ? ? ? ? ? ? ? ? ? 4 然后 git commit -m ‘对于当前修改的一些描述’

  ? ? ? ? ? ? ? ? ? ? ? ? ? 5 git push 将改动的地方提交到github上

  ? ? ? ? ? ? ? ? ? ? ? ? ? 6 这时候在github上就可以看到你提交的代码了,经过确认代码无误的情况下,将代码合并到主分支,具体操作如下

  ? ? ? ? ? ? ? ? ? ? ? ? ? 7 git checkout 主分支名字?

  ? ? ? ? ? ? ? ? ? ? ? ? ? 8 git merge 提交代码分支名字 这一步就将分支代码提交到主分支了(这时候可能还有一些冲突,将冲突的代码进行修改)

  ? ? ? ? ? ? ? ? ? ? ? ? ? 9 git push 将主分支代码提交到github

  ?

  ?

  ?

  ?

发表评论

表情:
评论列表 (有 0 条评论,150人围观)

还没有评论,来说两句吧...

相关阅读

    相关 git 指令

    1、回退命令: 回退到上个版本 git reset --hard HEAD^ 回退到前2次提交之前,以此类推,回退到n次提交之前 git reset --hard